2017-02-04 6 views
1

ツリービューノードを他のフォームにコピーする方法 同じフォームでコピーすることはできますが、別のフォームにコピーする方法は同じです。 私は3つのレベルのコピーノードをこのコードを使用して、同じフォームで正常に動作しますが、私は他のフォームのオブジェクトを作成し、ツリービューコントロールを使用して何もコピーしません。他のフォームにツリービューノードをコピーする

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);

関連する問題