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