防止MDI窗口出现在“窗口”菜单列表中

时间:2010-03-11 13:28:47

标签: c# .net winforms mdi

我有一个.NET MDI应用程序,它使用MDI Window List自动将子MDI表单填充到Window菜单中。

是否可以阻止某些MDI子窗体不包含在此自动菜单列表中?

要求:
  - 这个儿童形式必须是MDI儿童   - 此表单始终位于MDI表单堆栈的底部。

1 个答案:

答案 0 :(得分:1)

您应该处理菜单项的DropDownOpening事件,并从列表中删除不需要的项目。像这样:

MenuStrip ms = new MenuStrip();
ToolStripMenuItem windowMenu = new ToolStripMenuItem("Window");
ms.MdiWindowListItem = windowMenu;

windowMenu.DropDownOpening += (sender, e) =>
        {
            if (windowMenu.DropDownItems.Count > 0)
                windowMenu.DropDownItems.RemoveAt(0);
        };

ms.Items.Add(windowMenu);
ms.Dock = DockStyle.Top;            
this.MainMenuStrip = ms;
this.Controls.Add(ms);