Microsoft Communities

Welcome to WindowsClient.net | Sign in | Join

Here are some frequently asked questions about Windows Forms and their answers.

Windows Forms FAQs

How do I clone or copy all the nodes from one TreeView control to another?

The following code snippet demonstrates how you can clone or copy all the nodes in TreeView1 to TreeView2 by clicking on Button1.

private void IterateTreeNodes( TreeNode originalNode, TreeNode rootNode )
{
  foreach ( TreeNode childNode in originalNode.Nodes )
  {
    TreeNode newNode = new TreeNode( childNode.Text );
    newNode.Tag = childNode.Tag;
    treeView2.SelectedNode = rootNode;
    treeView2.SelectedNode.Nodes.Add( newNode );
    IterateTreeNodes( childNode, newNode );
  }
}

// copy nodes from treeView1 to treeView2
private void button1_Click( object sender, EventArgs e )
{
  foreach ( TreeNode originalNode in treeView1.Nodes )
  {
    TreeNode newNode = new TreeNode( originalNode.Text );
    newNode.Tag = originalNode.Tag;
    treeView2.Nodes.Add( newNode );
    IterateTreeNodes( originalNode, newNode );
  }
}

Contributed from George Shepherd's Windows Forms FAQ



Page view counter