Condividi tramite


TreeNode.Clone Metodo

Definizione

Copia il nodo della struttura ad albero e l'intero sottoalbero di questo nodo della struttura ad 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 TreeNode duplicato.

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 albero radice nell'oggetto TreeNodeCollection. In questo esempio è necessario disporre di un TreeView controllo su un Form che contiene una raccolta di TreeNode oggetti e un Buttonoggetto .

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 albero clonato e sotto viene copiata. Tutti i nodi dell'albero figlio assegnati al clonato sono inclusi nel nuovo nodo dell'albero TreeNode e nel sottoalbero.

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

Si applica a

Vedi anche