次の方法で共有


TreeNode.Clone メソッド

ツリー ノードと、そのツリー ノードをルートとするサブツリー全体をコピーします。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

構文

'宣言
Public Overridable Function Clone As Object
'使用
Dim instance As TreeNode
Dim returnValue As Object

returnValue = instance.Clone
public virtual Object Clone ()
public:
virtual Object^ Clone ()
public Object Clone ()
public function Clone () : Object

戻り値

複製された TreeNode を表す Object

解説

クローンが作成される対象のツリー ノードとその下位にあるツリー構造がコピーされます。新しいツリー ノートおよびサブツリーには、クローンが作成された TreeNode に割り当てられているすべての子ツリー ノードが含まれます。

使用例

最後のルート ツリー ノードの最後の子ツリー ノードのクローンを作成し、このクローンを TreeNodeCollection の 1 番目のルート ツリー ノードに挿入するコード例を次に示します。この例は、TreeNode オブジェクトのコレクションを格納する TreeView コントロール、および Button が、Form に配置されていることを前提にしています。

Private Sub button4_Click(sender As Object, _
  e As System.EventArgs) Handles button4.Click
   Dim lastNode as TreeNode
   lastNode = treeView1.Nodes(treeView1.Nodes.Count - 1). _
     Nodes(treeView1.Nodes(treeView1.Nodes.Count - 1).Nodes.Count - 1)

   ' Clone the last child node.
   Dim clonedNode As TreeNode = CType(lastNode.Clone(), TreeNode)

   ' Insert the cloned node as the first root node.
   treeView1.Nodes.Insert(0, clonedNode)
   MessageBox.Show(lastNode.Text & _
     " tree node cloned and added to " & treeView1.Nodes(0).Text)
End Sub
private void button4_Click(object sender, System.EventArgs e)
{
   TreeNode lastNode = treeView1.Nodes[treeView1.Nodes.Count - 1].
     Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1];

   // Clone the last child node.
   TreeNode clonedNode = (TreeNode) lastNode.Clone();

   // Insert the cloned node as the first root node.
   treeView1.Nodes.Insert(0, clonedNode);
   MessageBox.Show(lastNode.Text + 
     " tree node cloned and added to " + treeView1.Nodes[0].Text);
}
void button4_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   TreeNode^ lastNode = treeView1->Nodes[ treeView1->Nodes->Count - 1 ]->Nodes[ treeView1->Nodes[ treeView1->Nodes->Count - 1 ]->Nodes->Count - 1 ];
   
   // Clone the last child node.
   TreeNode^ clonedNode = dynamic_cast<TreeNode^>(lastNode->Clone());
   
   // Insert the cloned node as the first root node.
   treeView1->Nodes->Insert( 0, clonedNode );
   MessageBox::Show( String::Concat( lastNode->Text, " tree node cloned and added to ", treeView1->Nodes[ 0 ]->Text ) );
}
private void button4_Click(Object sender, System.EventArgs e)
{
    TreeNode lastNode = treeView1.get_Nodes().get_Item(
        (treeView1.get_Nodes().get_Count() - 1)).get_Nodes().get_Item(
        (treeView1.get_Nodes().get_Item((treeView1.get_Nodes().get_Count()
        - 1)).get_Nodes().get_Count() - 1));
    // Clone the last child node.
    TreeNode clonedNode = (TreeNode)lastNode.Clone();
    // Insert the cloned node as the first root node.
    treeView1.get_Nodes().Insert(0, clonedNode);
    MessageBox.Show(lastNode.get_Text() + " tree node cloned and added to "
        + treeView1.get_Nodes().get_Item(0).get_Text());
} //button4_Click

プラットフォーム

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 2.0

参照

関連項目

TreeNode クラス
TreeNode メンバ
System.Windows.Forms 名前空間
Remove