C# TreeView複製所有Node(使用遞迴「Recursive」方式)到另一個TreeView中 『 Copy all treeView parent and children to another treeView c# WinForms 』
C# TreeView複製所有Node(使用遞迴「Recursive」方式)到另一個TreeView中 『 Copy all treeView parent and children to another treeView c# WinForms 』
private void Form1_Load(object sender, EventArgs e) { //添加一个节点,这个结点是根节点。 TreeNode node = new TreeNode(); node.Text = "hope"; treeView1.Nodes.Add(node); TreeNode node1 = new TreeNode(); node1.Text = "hopeone"; TreeNode node11 = new TreeNode(); node11.Text = "hopeoneone"; TreeNode node2 = new TreeNode(); node2.Text = "hopetwo"; node1.Nodes.Add(node11);//在node1下面在添加一个结点。 node.Nodes.Add(node1);//node下的两个子节点。 node.Nodes.Add(node2); TreeNode t = new TreeNode("basil");//作为根节点。 treeView1.Nodes.Add(t); TreeNode t1 = new TreeNode("basilone"); t.Nodes.Add(t1); TreeNode t2 = new TreeNode("basiltwo"); t.Nodes.Add(t2); TreeNode newTn; foreach (TreeNode tn in treeView1.Nodes) { newTn = new TreeNode(tn.Text, tn.ImageIndex, tn.SelectedImageIndex); if (tn.Nodes.Count > 0) { CopyChildren(newTn, tn); } comboBoxTree1.Nodes.Add(newTn); } } public void CopyChildren(TreeNode parent, TreeNode original) { TreeNode newTn; foreach (TreeNode tn in original.Nodes) { newTn = new TreeNode(tn.Text, tn.ImageIndex, tn.SelectedImageIndex); parent.Nodes.Add(newTn); if (tn.Nodes.Count > 0) { CopyChildren(newTn, tn); } } }