Даже если MenuStrip добавляется в родительскую форму MDI, Form.MainMenuStrip по-прежнему null
.
Когда это свойство равно null
, системное меню управляет дочерним MDI. не смешиваются с MenuStrip (или старым MainMenu
), поэтому строка заголовка дочерней формы все еще видна и расположена над MenuStrip.
Когда новая дочерняя форма создается и разворачивается, MenuStrip подпрыгивает вверх и вниз, когда дочерний заголовок формы воссоздается.
Установка свойства MainMenuStrip
для экземпляра MenuStrip родительского элемента MDI приведет к тому, что элементы управления системного меню дочернего элемента MDI смешаются с MenuStrip (или MainMenu
).
Интересно видеть в . Net Исходный код , сколько раз это поведение и дизайн менялись с течением времени (и это просто комментарии там :).
TheMDIMenuStrip
- это строка меню родителя MDI, созданная во время разработки и инициализированная в InitializeComponent()
.
public partial class MDIParent : Form
{
public MDIParent()
{
InitializeComponent();
this.MainMenuStrip = this.TheMDIMenuStrip;
this.TheMDIMenuStrip.SendToBack();
}
...
}
До:
После: