这几天我一直在寻找一个解决方案,但找不到一个简单的答案。我尝试了一些在互联网上找到的例子(委托,属性,甚至打破OOP使一切都公开),但这些似乎都不起作用。谁能写一个最简单的代码来解决以下问题:
我有MDI父窗体和子窗体。MDI父表单有一个状态条标签。子表单有一个按钮。所有我想做的是更新MDI标签在点击子表单按钮。
谢谢! !
这不是最好的解决方案。然而,这是最简单的一个:
1-修改status-strip标签的访问修饰符为public。
2-将父窗体拆为其实际类型,以便能够访问标签:
((ActualMdiParentFormType) this.MdiParent).statusStripLabel.Text = "Value";
还有另一种解决方案,即在子窗口中创建一个事件,并将父窗口注册为该事件。在事件触发的情况下,父窗口将被通知,并且在父窗口的相应事件处理程序中,我们可以更新OUR控件。
这是一个更像"MVVM"的方法。
查看以下链接获取更多信息:
使用事件在表单之间传递值
http://www.c-sharpcorner.com/uploadfile/yougerthen/mvvm-implementation-for-windows-forms/MVVM:教程从头到尾?
希望有帮助,