我正在使用 C# 创建一个多窗体窗口应用程序,我有两个窗体一个父窗体和一个子窗体。
从父表单我调用子表单在父表单树视图中添加一个树节点。在子表单中输入详细信息并按“添加”按钮后,我想关闭子表单并希望在父表单内动态添加树视图中的树节点。
该值传递完美,我正在使用属性进行传输。使用 this.Show() 休息,打开另一个父窗体。我已经尝试过 Invalidate() 和 Refresh() 但树视图没有得到更新。
覆盖子表单构造函数以接受父表单作为参数
ChiildForm chilForm=new ChildForm(parentFormObject);
现在您可以调用父表单的方法来在页面上进行所需的更改。
parentFormObject.RefreshSection();
但树视图没有得到更新
要刷新树视图,您需要在添加新添加的子表单项后将其重新绑定到数据源。
示例:
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
}
如果你想在点击添加按钮后刷新,只需尝试通过发送参数来调用 load_ 函数。例子,
button_click(Object sender,Event_args e)
{
Form_Load(sender,e);
}