我有一个数据库驱动的多用户vb.net WinForms应用程序,它向用户提供日历/日程安排界面。用户可以同时在日历上编辑多个约会,因此可以打开“编辑约会”窗体的一个,多个或者没有实例。WinForms - 如何为非模态表单事件设置“订阅”?
在应用程序的其他地方,我有各种搜索功能,可能会显示事件列表 - 包括可能正在编辑的列表。如果其中一个事件被编辑,移动或删除,搜索表将失效。
当我打开我的搜索功能时,我希望能够“订阅”由所有打开的“编辑约会”表单生成的事件。然后,如果搜索界面中显示的约会被修改/删除,则搜索表格会自行刷新。
在vb.net中有一些最佳实践或机制来启用它吗?
具体问题:
- 我需要一种方法来列出或跟踪所有打开的“编辑约会”的形成,而搜索界面已经打开
- 附加“编辑约会”的形式可以被打开。
- 如果我的搜索界面关闭,我将需要取消订阅这些可视化基本事件,这样我就没有内存泄漏或意外行为。
澄清:我认为正确的方式来处理,这是通过处理“FormClosed”或从“编辑约会”的形式生成的事件。这个视觉基本事件需要以某种方式“处理”,以便它可以通知订阅表单发生更改(可能)发生。
而不是形式为中心的应用程序,考虑类 – Plutonix
我不知道是什么,在这里指。我的理解是,所有的形式都是阶级。我可以用什么方式来解决我的问题? –
是的所有形式都是类 - *他们的*专业是与用户交互。而不是什么(你没有提到什么)订阅各种形式的事件来做事,约会类可以包含数据和逻辑来对其采取行动。如果需要的话,它可以告诉Form87将“foo”改为“bar”。 – Plutonix