Не удается увидеть новый дочерний элемент mdi

привет, я работаю над небольшим проектом uni. и проблема в том, что когда я нажимаю кнопку, она должна отображать дочернюю форму в контейнере MDI.

но это не работает. все свойства установлены правильно.

сам контейнер mdi содержит разделенный контейнер и некоторые кнопки, текстовые поля, метки и т. д.

код кнопки выглядит следующим образом

    private void ChangeRecipe_Click(object sender, EventArgs e)
    {
        Form rec = new recipe();
        rec.MdiParent = this;
        rec.Show();
    }

вот как я это называю, но я не вижу никаких форм, отображаемых внутри или снаружи контейнера.


person gakker    schedule 02.03.2012    source источник
comment
Этот код, как известно, работает. Ваша проблема в другом. Я предполагаю, что вы установили IsMdiContainer как true для своей основной формы.   -  person David Heffernan    schedule 03.03.2012


Ответы (1)


Окно есть, его просто не видно. Он находится за вашим SplitContainer.

Дочерние окна MDI связаны с окном клиента MDI, темно-серым окном внутри родителя. Вы не можете поместить какие-либо элементы управления в родительский MDI, если вы не пристыкуете их к краю. Это заставляет окно клиента MDI сжиматься и соответствовать оставшемуся пространству. Это в значительной степени убивает идею использования сплиттера. Нет обходного пути для этого, разработанного для MDI.

person Hans Passant    schedule 02.03.2012