0

我正在使用 C# 创建一个多窗体窗口应用程序,我有两个窗体一个父窗体和一个子窗体。

从父表单我调用子表单在父表单树视图中添加一个树节点。在子表单中输入详细信息并按“添加”按钮后,我想关闭子表单并希望在父表单内动态添加树视图中的树节点。

该值传递完美,我正在使用属性进行传输。使用 this.Show() 休息,打开另一个父窗体。我已经尝试过 Invalidate() 和 Refresh() 但树视图没有得到更新。

4

3 回答 3

2

覆盖子表单构造函数以接受父表单作为参数

ChiildForm chilForm=new ChildForm(parentFormObject);

现在您可以调用父表单的方法来在页面上进行所需的更改。

parentFormObject.RefreshSection();
于 2013-09-10T06:32:54.983 回答
1

但树视图没有得到更新

要刷新树视图,您需要在添加新添加的子表单项后将其重新绑定到数据源。

示例

List<SomeClass> items = new List<SomeClass>();
if(childForm.ShowDialog() == DialogResult.Ok)
{
   items.Add(childForm.newlyAddedItem); //you have mentioned that values are passing perfect
   //your code for rebinding to the treeview
}
于 2013-09-10T05:22:15.427 回答
1

如果你想在点击添加按钮后刷新,只需尝试通过发送参数来调用 load_ 函数。例子,

button_click(Object sender,Event_args e)
{
 Form_Load(sender,e);
}

于 2019-02-01T06:36:45.293 回答