如何以另一种形式获取一个表单的treeview控件?

时间:2015-07-28 12:13:37

标签: c# winforms

我正在使用自定义控件,其中有

treeview with some nodes .

我正在为用户提供一个选项,通过右键单击在所选节点中添加新节点。 为此,我打开一个表单,用户在文本框中输入新名称,然后按添加按钮,如果没有相同名称的节点,则在选定的

中添加一个节点
treeview.

我的问题是我无法使用新名称在运行时添加节点。 我需要这个

treeview

在我的表格中,但我无法做到这一点。 我从我的自定义控件

打开表单
addInTreeView() method call

我打开这个表格是这样的:

Form_NewForm.ShowDialog();

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您不必在“新表单”中使用树视图。如果我理解你正确,则只需向用户显示“新表格”,即输入新树节点的名称 反之亦然:从“主窗体”的文本框中输入输入的名称。

你的mainform中有这样的东西,它包含了treeview(伪代码):

string newNodeName = null;
Form_NewForm.FormClosing += delegate (Object s, FormClosingEventArgs e) {
    newNodeName = textBox_newName.Text;
}
Form_NewForm.ShowDialog();

if(!String.IsNullOrEmpty(newNodeName)) {
    //add new node to treeview
}

很可能必须扩展此概念以检查用户是否取消了操作,因为如果用户单击“取消”,您不想创建新节点。