Udostępnij za pośrednictwem


TreeNode.Clone Metoda

Definicja

Kopiuje węzeł drzewa i całe poddrzewo zakorzenione w tym węźle drzewa.

public:
 virtual System::Object ^ Clone();
public virtual object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Overridable Function Clone () As Object

Zwraca

Object

Obiekt Object reprezentujący sklonowany TreeNodeobiekt .

Implementuje

Przykłady

Poniższy przykład kodu klonuje ostatni węzeł drzewa podrzędnego ostatniego węzła drzewa głównego i wstawia klon jako pierwszy węzeł drzewa głównego w obiekcie TreeNodeCollection. W tym przykładzie jest wymagana kontrolka TreeView obiektu Form , która zawiera kolekcję TreeNode obiektów i Buttonobiekt .

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.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);
}
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

Uwagi

Struktura drzewa z klonowanego węzła drzewa i poniżej jest kopiowana. Wszystkie węzły drzewa podrzędnego przypisane do TreeNode sklonowanego węzła są uwzględniane w nowym węźle drzewa i poddrzewie.

Metoda Clone wykonuje płytkią kopię węzła. Jeśli wartość Tag właściwości jest typem odwołania, zarówno oryginalna, jak i sklonowana kopia wskaże to samo pojedyncze wystąpienie Tag wartości.

Dotyczy

Zobacz też