在事件发生后更新另一个表单

本文关键字:更新 另一个 表单 事件 | 更新日期: 2023-09-27 17:55:09

我正在努力确定根据另一个表单中发生的事件更新一个表单的最佳方法。

例如,我的应用程序有一个窗体,该窗体显示ListView中的零件列表(即库存、非库存等)。 我的应用程序还有一个允许用户添加新部件的表单。 该应用程序不是MDI

每次从其他表单插入、更新或删除项目时,更新显示部件列表的窗体的最佳选择是什么?

我意识到,在表单从第一个表单实例化的情况下,我可以将引用传递到第二个表单中,但我不想紧密耦合表单。 我已经尝试了自定义事件,但我认为这将需要在中间实现一个类,该类接管表单的实例化,以便它可以访问两个对象。

我想我可以使用 .NET 内置属性。 我的最佳选择是什么?

在事件发生后更新另一个表单

如果我们只是谈论两种形式,我会走简单的路线(例如,不要使用工厂类)。

在接收方表单中添加一个事件(如ProductListChanged

添加一个全局变量(通过静态类属性(见下文))来保存接收器窗体。

public class globals {
  public static ProductForm productForm {get;set;}
}

然后,您可以通过全局静态属性引发 ProductListChanged 事件。