Condividi tramite


TreeNode.Clone Metodo

Definizione

Copia il nodo della struttura ad albero e l'intero sottoalbero rooted in questo nodo dell'albero.

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

Restituisce

Oggetto Object che rappresenta l'oggetto clonato TreeNode.

Implementazioni

Esempio

Nell'esempio di codice seguente viene clonato l'ultimo nodo dell'albero figlio dell'ultimo nodo dell'albero radice e viene inserito il clone come primo nodo della struttura ad albero radice in TreeNodeCollection. In questo esempio è necessario disporre di un TreeView controllo su un Form oggetto contenente una raccolta di TreeNode oggetti e un oggetto Button.

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

Commenti

La struttura ad albero dal nodo della struttura ad albero clonata e sotto viene copiata. Tutti i nodi dell'albero TreeNode figlio assegnati al clonato vengono inclusi nel nuovo nodo della struttura ad albero e nel sottoalbero.

Il Clone metodo esegue una copia superficiale del nodo. Se il valore della Tag proprietà è un tipo riferimento, la copia originale e clonata punterà alla stessa istanza singola del Tag valore.

Si applica a

Vedi anche