Live Chat Icon For mobile
Live Chat Icon

How can I clone/copy all the nodes from one TreeView Control to another?

Platform: WinForms| Category: TreeView

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

Share on twitter
Share on facebook
Share on linkedin

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.