Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deep copying of tree view nodes

Tags:

c#

I'm trying to copy a treeview nodes to treenodecollection for some other processing. When i execute the treeview.nodes.clear() in the next line, my treenodecollection is becoming null. Can you please tell me how to copy the treeview nodes to treenodecollection and keep the copies of the nodes even after calling Clear method of actual tree view nodes?

TreeNodeCollection tnc = null;
private TypeIn()
{
      tnc = treeView1.Nodes;
      treeView1.Nodes.Clear();
      //Now my tnc becomes null, but I want the tnc for future use.
}
like image 487
Kanags.Net Avatar asked Mar 31 '10 06:03

Kanags.Net


1 Answers

TreeNode object is clonable with all subtree entire. Thats why you can use List which will contain root nodes with there subtrees.

List<TreeNode> tnc = null;
private TypeIn()
{
      tnc  = new List<TreeNode>();
      foreach (TreeNode n in treeView1.Nodes)
      {
          tnc.Add((TreeNode)n.Clone());
      }
      treeView1.Nodes.Clear();

}
like image 184
Stremlenye Avatar answered Sep 27 '22 19:09

Stremlenye