Предотвратить появление окна MDI в списке меню Window - PullRequest
1 голос
/ 11 марта 2010

У меня есть приложение .NET MDI, которое использует Список окон MDI для автоматического заполнения дочерних форм MDI в меню Окно.

Можно ли предотвратить включение некоторых дочерних форм MDI в этот автоматический список меню?

Требования:
- Эта дочерняя форма должна быть ребенком MDI.
- Эта форма всегда находится внизу стека форм MDI.

1 Ответ

1 голос
/ 11 марта 2010

Вы должны обработать событие 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);
...