【问题标题】:c# MDI Parent check child forms openedc# MDI Parent 检查子窗体打开
【发布时间】:2011-10-10 17:25:01
【问题描述】:

我正在制作一个 MDI windows 窗体应用程序,并且我在父级中有一个面板。每次我打开一个孩子时,我都会将父母的面板设置为可见 = false 事件:MdiChildActivate。但是当我关闭所有孩子时,我想将父母的面板设置为可见 = true。

有什么办法吗?

非常感谢,也许是一个菜鸟问题,但我什么也没找到。

【问题讨论】:

    标签: c# winforms mdichild mdiparent


    【解决方案1】:

    为什么不直接订阅 Mdi 孩子的Closed 事件,然后检查是否还有剩余的孩子?

    void CreateMdiForm()
    {
        var child = new SomeMdiChildForm();
        // do stuff
        child.FormClosed += child_Closed;
    }
    
    void child_Closed( object sender, FormClosedEventArgs e )
    {
        if( MdiChildren.Length == 0 )
        {
            SetPanelVisible();
        }
    }
    

    【讨论】:

    • 在 MSDN 上查看 MdiChildren
    • @Michael:好的,所以:此属性允许您获取对 MDI 父窗体中当前打开的所有 MDI 子窗体的引用。 那么应该是0
    • 谢谢 Ed S。这就是我要找的,但我不明白 child.Closed,你的意思是
    • @uoah:这就是FormClosed 事件。当表单关闭时,它会被触发 :)
    • 好的,谢谢,我之前的评论没有完成,我在问你如果你的意思是 FormCLosed,但现在我看到你修改了你的答案。非常感谢。
    猜你喜欢
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多