Меню WinForms MdiContainer

Все, у меня есть MDI-элемент WinForms и в нем я закрепляю несколько дочерних окон. Когда я впервые сделал это, мне удалось (каким-то образом) избавиться от списка окон (показанного над формами с вкладками ниже)

введите описание изображения здесь

Я не говорю о меню с двойным окном (справа), я знаю, что это связано с ошибкой в ​​элементе управления WinForms и что если вы добавляете элементы MdiChild в событие Load вместо конструктора, это поведение разрешает itsef (подробности см. в этом сообщении).

Здесь я про саму полоску меню, не хочу! Как мне от этого избавиться? Любой совет очень ценится ...

Примечание. Я добавляю формы MdiChild следующим образом:

foreach (Form mdiChild in MdiChildForms)
{
    mdiChild.MdiParent = this;
    mdiChild.Show();
}

где MdiChildForms - это List<Form>.


person MoonKnight    schedule 05.03.2012    source источник


Ответы (1)


Вот возможное решение:

public MainForm() {
    IsMdiContainer = true;
    InitializeComponent();
    this.MainMenuStrip = new MenuStrip(); // create our own menu strip
    this.MainMenuStrip.Visible = false;   
}
person DmitryG    schedule 05.03.2012
comment
+1 Конфетка. Довольно просто, но я предполагал, что это можно сделать в дизайнере? Очевидно, есть еще одна ошибка с элементом управления MDI в том, что эта ошибка возникла, когда я попытался добавить свою собственную полосу меню в конструктор - даже когда я впоследствии удалил этот menuStrip, меню MDI сохранилось, и нет способа нет чтобы от него избавиться (хотя бы в конструкторе). Спасибо за ваше время. - person MoonKnight; 05.03.2012