我有一个用于管理数据库的程序。我的数据库表内容显示在form1上的listview
中。我正在使用form2
来编辑数据库
当form2
处于打开状态时form1
仍然可见。
但是,当关闭form2时,在更新数据库之后,我希望form1刷新其listview
以显示新更新的信息。
我有一个方法可以刷新listview
上的form1
。如何从form2
执行此操作?
我已将该方法设置为公开但我仍然无法从form2
访问它。
答案 0 :(得分:1)
将form1的实例传递给form2的构造函数:
Form2 form2 = new Form2(this);
在form2的构造函数中,将对form1对象的引用存储为成员变量。
然后,从form2的相关部分,只需在form1上调用方法:
form1.RefreshListView();
答案 1 :(得分:1)
如果我理解正确的问题,一种方法是在创建Form2
时注册一个事件:
var form2 = new Form2();
form2.Closed += (sender, args) => this.RefreshListView();
当form2关闭时,将触发Form.Closed
事件。使用事件执行此操作的一个优点是Form2
不需要知道有关Form1
减少代码耦合的任何信息。