我有一个.NET MDI应用程序,它使用MDI Window List自动将子MDI表单填充到Window菜单中。
是否可以阻止某些MDI子窗体不包含在此自动菜单列表中?
要求:
- 这个儿童形式必须是MDI儿童
- 此表单始终位于MDI表单堆栈的底部。
答案 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);