复制Treeview到另外Treeview

TreeView本身没办法Clone(),不过只是要内容一样的话,只要把顶层的TreeNode从源TreeView复制到目标TreeView就OK。
  1. using System.Windows.Forms;   
  2.   
  3. namespace TestTreeView   
  4. {   
  5.     public partial class Form2 : Form   
  6.     {   
  7.         public Form2(TreeView tv)   
  8.         {   
  9.             InitializeComponent();   
  10.             this.treeView1.Nodes.Clear();   
  11.             foreach (TreeNode node in tv.Nodes)   
  12.             {   
  13.                 TreeNode newNode = node.Clone() as TreeNode;   
  14.                 this.treeView1.Nodes.Add(newNode);   
  15.             }   
  16.         }   
  17.     }   

真在工作中肯定是不应该把一个Form的私有TreeView传给别的Form。更好的办法或许是先把TreeNodeCollection给复制到一个一维数组(TreeNodeCollection.CopyTo(TreeNode[] nodeArray, int index)),然后把这个数组传给目标。嘛怎么复制都好,反正浅拷贝的话只要复制顶层节点就OK。

 

参考文献:http://rednaxelafx.javaeye.com/blog/190358

 

 

posted @ 2009-04-18 21:24  何翔华  阅读(1608)  评论(0编辑  收藏  举报