2017-02-04 2 views
1

Как скопировать узлы дерева в другую форму, Я могу скопировать в той же форме , но как скопировать в другую форму. Я использую этот код для узлов копирования на 3 уровнях, он отлично работает в одной и той же форме, но когда я создаю объект другой формы и использую его элемент управления treeview, он ничего не копирует.Копирование узлов дерева в другую форму

private void button1_Click(object sender, EventArgs e) 
    { 
     test t = new test(); 
     MessageBox.Show(t.textBox1.Text); 
     RootCopy(treeView1, t.treeView1); 
    } 

    public void RootCopy(TreeView treeview1, TreeView treeview2) 
    { 
     TreeNode newNode; 
     foreach (TreeNode tnode in treeview1.Nodes) 
     { 
      newNode = new TreeNode(tnode.Text); 
      treeview2.Nodes.Add(newNode); 
      if (tnode.Nodes.Count != 0) 
      { 
       int _1index = tnode.Index; 
       ChildsCopyLevel2(_1index, treeview1, treeview2); 
      } 


     } 

    } 


    public void ChildsCopyLevel2(int index1, TreeView TV1, TreeView TV2) 
    { 
     foreach (TreeNode Tnode in TV1.Nodes[index1].Nodes) 
     { 
      string Childtext = Tnode.Text; 
      TV2.Nodes[index1].Nodes.Add(Childtext); 
      if (Tnode.Nodes.Count != 0) 
      {// ChildsCopyLevel3(Tnode.Nodes.Count, TV1, TV2); 
       int _2index = Tnode.Index; 
       ChildsCopyLevel3(index1, _2index, TV1, TV2); 
      } 
     } 

    } 


    public void ChildsCopyLevel3(int index1, int index2, TreeView TV1, TreeView TV2) 
    { 
     foreach (TreeNode Tnode in TV1.Nodes[index1].Nodes[index2].Nodes) 
     { 
      string Childtext = Tnode.Text; 
      TV2.Nodes[index1].Nodes[index2].Nodes.Add(Childtext); 
     } 
    } 

ответ

0

маленькая ошибка там теперь работает нормально

RootCopy (treeView1, t.treeView1); - RootCopy (t.treeView1, treeView1);

Смежные вопросы