C# 如何从子窗体更改mdi statusstrip标签
我已经寻找了几天的解决方案,但找不到简单的答案。 我尝试了一些在互联网上找到的例子(委托、属性,甚至破坏OOP使一切公开),但这些似乎都不起作用。 有人能为以下问题编写一个最简单的代码吗: 我有MDI父窗体和子窗体。MDI父窗体具有状态条标签。子窗体有一个按钮。我只想在点击子窗体按钮时更新MDI标签 谢谢 这不是最好的解决办法。但是,这是最简单的: 1-将状态条标签的访问修饰符更改为公共 2-将父窗体取消装箱到其实际类型,以便能够访问标签:C# 如何从子窗体更改mdi statusstrip标签,c#,label,mdi,statusstrip,C#,Label,Mdi,Statusstrip,我已经寻找了几天的解决方案,但找不到简单的答案。 我尝试了一些在互联网上找到的例子(委托、属性,甚至破坏OOP使一切公开),但这些似乎都不起作用。 有人能为以下问题编写一个最简单的代码吗: 我有MDI父窗体和子窗体。MDI父窗体具有状态条标签。子窗体有一个按钮。我只想在点击子窗体按钮时更新MDI标签 谢谢 这不是最好的解决办法。但是,这是最简单的: 1-将状态条标签的访问修饰符更改为公共 2-将父窗体取消装箱到其实际类型,以便能够访问标签: ((ActualMdiParentFormType)
((ActualMdiParentFormType) this.MdiParent).statusStripLabel.Text = "Value";
另一种解决方案是在子窗口中创建一个事件,并将父窗口注册到该事件。如果触发事件,将通知父窗口,并且在父窗口的相应事件处理程序中,我们可以更新控件 这是一种更像“MVVM”的方法 有关详细信息,请查看以下链接:
希望这会有所帮助,一个“更干净”的解决方案是在父窗体中添加一个成员,该成员会更改标签。text@DarkSquirrel42:添加您的评论作为答案。我第一次阅读时没有收到此评论。但现在我明白了,我想写下我的答案。。。((Form1)this.mdipradent).statusStripLabel.Text=“Value”;这就是我得到的。谢谢