【发布时间】:2017-02-08 07:47:51
【问题描述】:
我是 .Net Winforms 的新手,我通常使用控制台应用程序或 MVC。
我正在开发一个 MDI WinForms 应用程序,如果我在一个(任何)窗口中进行更改,我需要在更改完成后刷新所有其他打开的 MDI 表单,以便它们也可以显示更新的数据。
如何实现 - 在我以前的 Delphi (v3) 时代,您曾经“发布” WM_USER 类型的消息,每个表单都有一个“订阅者处理程序”,然后会采取所需的操作,但这很长很久以前。
所有表格都是数据的细微变化,一个表格的变化会影响其他表格中的数据..
TYIA
【问题讨论】:
-
所有的Forms都是同一类型吗(如果是,可以参考这里:stackoverflow.com/questions/4646705/…和msdn.microsoft.com/en-us/library/…)?使用它,您可以遍历所有打开的表单,并调用 Refresh() 方法(将其声明为公共)。
-
不,表单不是同一个表单的多个实例,它们都略有不同..但原则上它会起作用......理想情况下..我只想刷新表单如果它使用已更改的数据的类型(例如,显示某种员工数据的所有表单)
-
在你的 MDI 父窗体中添加一个事件,所有子窗体都可以订阅它。