The following code snippet demonstrates how you can clone or copy all the nodes in TreeView1 to TreeView2 by clicking on Button1.
[C#]
private void IterateTreeNodes (TreeNode originalNode, TreeNode rootNode)
{
foreach( TreeNode childNode in originalNode.Nodes)
{
TreeNode newNode = new TreeNode(childNode.Text);
newNode.Tag = childNode.Tag;
this.treeView2.SelectedNode = rootNode;
this.treeView2.SelectedNode.Nodes.Add(newNode);
IterateTreeNodes(childNode, newNode);
}
}
//Button Click code
private void button1_Click(object sender, System.EventArgs e)
{
foreach( TreeNode originalNode in this.treeView1.Nodes)
{
TreeNode newNode = new TreeNode(originalNode.Text);
newNode.Tag = originalNode.Tag;
this.treeView2.Nodes.Add(newNode);
IterateTreeNodes(originalNode, newNode);
}
}
[VB.NET]
Private Sub IterateTreeNodes(ByVal originalNode As TreeNode, ByVal rootNode As TreeNode)
Dim childNode As TreeNode
For Each childNode In originalNode.Nodes
Dim NewNode As TreeNode = New TreeNode(childNode.Text)
NewNode.Tag = childNode.Tag
Me.treeView2.SelectedNode = rootNode
Me.treeView2.SelectedNode.Nodes.Add(NewNode)
IterateTreeNodes(childNode, NewNode)
Next
End Sub
’Button Click code
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim originalNode As TreeNode
For Each originalNode In Me.treeView1.Nodes
Dim NewNode As TreeNode = New TreeNode(originalNode.Text)
NewNode.Tag = originalNode.Tag
Me.treeView2.Nodes.Add(NewNode)
IterateTreeNodes(originalNode, NewNode)
Next
End Sub
Share with