在另一个表单中发生事件后更新一个表单
我正在努力确定基于另一个表单中发生的事件更新一个表单的最佳方法。
例如,我的应用程序有一个表单,显示ListView
中的部件列表(即库存,非库存等…)。 我的应用程序还有一个允许用户添加新部件的表单。 该应用程序不是MDI
。
每次从其他表单插入,更新或删除项目时,更新显示部件列表的表单的最佳选项是什么?
我意识到我可以将引用传递给第二种forms,在这种情况下,表单是从第一种forms实例化的,但是,我宁愿不紧密地结合表单。 我已经尝试过自定义事件但是,我认为这需要在中间实现一个接管表单实例化的类,以便它可以访问这两个对象。
我想我可以使用.NET内置的属性。 我最好的选择是什么?
如果我们只是谈论两种forms,我会选择简单的路线(例如,不要使用工厂类)。
在你的接收器表单中添加一个事件(如ProductListChanged
)
添加一个全局变量(通过静态类属性(见下文))来保存接收器表单。
public class globals { public static ProductForm productForm {get;set;} }
然后,您可以通过全局静态属性引发ProductListChanged事件。