子窗口处于活动状态时如何隐藏父窗口菜单栏?

时间:2014-12-19 07:00:05

标签: c# winforms

我有两种形式。我在主窗口中创建了一个菜单栏并设置了IsMdicontainer= true。在第二个窗口中,我创建了菜单栏并设置了windowstate is maximize

我的问题是当子窗口处于活动状态时,父窗口菜单栏也会显示子窗口菜单。我需要隐藏父窗口菜单栏,只有在子窗口关闭后才显示它。

1 个答案:

答案 0 :(得分:0)

假设您从此菜单打开子表单,则可以使用MdiChildActivate中的ParentForm事件处理程序。
这甚至适用于多个子表单。

    private void ParentForm_MdiChildActivate(object sender, EventArgs e)
    {
        int count = Application.OpenForms.
                                Cast<Form>().
                                Count(x => x.IsMdiChild);

        // The menu will be displayed again only if all subforms are closed
        parentFormMenu.Visible = (count <= 0);
    }