【发布时间】:2015-11-15 16:56:56
【问题描述】:
我想将一个节点从一种形式添加到另一种形式。我有以下代码,但它不起作用:
来自Form2:
private void button2_Click(object sender, EventArgs e)
{
_HauptFenster = new Form1();
_HauptFenster.AddGroup(textBox1.Text);
this.Close();
}
到Form1:
public void AddGroup(string name)
{
MessageBox.Show(name);
Einträge.Nodes.Add(name);
}
我可以在MessageBox中看到节点的真实名称,但是该节点没有被添加到Form1上的TreeView中。
【问题讨论】:
-
Mein Deutsch ist nicht so gut,但我假设 Eintrage 是您的 TreeView。我现在没有 VS,但不能真正解决问题,但我认为 Add 方法需要一个 Node 作为参数。你可以试试 Eintage.Nodes.Add(new TreeNode(name)); ?
-
嘿萨满,感谢您的快速回复。不幸的是,添加一个新的 TreeNode 不是解决方案。我可以在消息框中看到正确的名称,但树视图不会添加节点。如果我直接从 Form1 添加一个新节点,它将起作用。
-
在单击哪个按钮 2 时是否打开了 Form1 的实例?每次单击 button2 时,您都在创建 Form1 的新实例并调用 AddGroup 函数,但从未显示新创建的表单。如果在 this.Close() 之前添加 _HauptFenster.Show() ,它将显示新创建的表单。我猜您不是每次都创建 Form1 的新实例,而是希望输入的文本显示在现有表单的 TreeView 中?