【发布时间】:2011-04-16 09:14:07
【问题描述】:
我这几天一直在寻找解决方案,但找不到简单的答案。 我已经尝试了一些在互联网上找到的示例(代表、属性,甚至打破 OOP 公开所有内容),但这些似乎都不起作用。 有人可以为以下问题编写一个最简单的代码:
我有 MDI 父窗体和子窗体。 MDI 父窗体具有状态条标签。子窗体有一个按钮。我要做的就是在单击子表单按钮时更新 MDI 标签。
谢谢!!!
【问题讨论】:
标签: c# label mdi statusstrip
我这几天一直在寻找解决方案,但找不到简单的答案。 我已经尝试了一些在互联网上找到的示例(代表、属性,甚至打破 OOP 公开所有内容),但这些似乎都不起作用。 有人可以为以下问题编写一个最简单的代码:
我有 MDI 父窗体和子窗体。 MDI 父窗体具有状态条标签。子窗体有一个按钮。我要做的就是在单击子表单按钮时更新 MDI 标签。
谢谢!!!
【问题讨论】:
标签: c# label mdi statusstrip
1- 将状态条标签的访问修饰符更改为公共。
2- 将父表单拆箱为其真实类型,以便能够访问标签:
((ActualMdiParentFormType) this.MdiParent).statusStripLabel.Text = "Value";
【讨论】:
还有另一种解决方案是在子窗口中创建一个事件并将父窗口注册到该事件。如果事件触发,将通知父窗口,并且在父窗口的相应事件处理程序中我们可以更新我们的控件。
这是一种更像“MVVM”的方法。
查看这些链接了解更多信息:
Pass value between forms using events
http://www.c-sharpcorner.com/uploadfile/yougerthen/mvvm-implementation-for-windows-forms/
MVVM: Tutorial from start to finish?
希望对你有帮助,
【讨论】: