2014-12-20 8 views
0

У меня 2 формы; Form1 и Form2. В Form1 есть MenuStrip и кнопка. Когда я нажимаю кнопку, Form2 появляется под кнопкой Form1.Детальная форма MDI появляется под родительским контролем MDI

private void button1_Click(object sender, EventArgs e) 
{ 
    Form2 frm = new Form2(); 
    frm.MdiParent = this; 
    frm.StartPosition = FormStartPosition.CenterScreen; 
    frm.WindowState = FormWindowState.Maximized; 
    frm.Show(); 
} 
+0

И ваш вопрос? –

+0

Любой элемент управления, который вы помещаете в родительскую форму MDI * должен * быть прикреплен к краю. Если это не так, они всегда будут перекрывать окно клиента MDI. Обычно вы устанавливаете панель и накладываете любые элементы управления, которые вам нужны на этой панели. Только одна кнопка должна быть пунктом меню. –

ответ

3

дочерние формы в контейнере MDI всегда лежало в основе других элементов управления, которые размещены непосредственно на контейнере MDI:

enter image description here

Вы увидите такое же поведение, если переместить форму под меню тоже, хотя, поскольку MenuStrip состыкована, вы должны увидеть полосы прокрутки, которые позволяют просматривать всю форму.

enter image description here

Либо объединить вашу кнопку на MenuStrip:

enter image description here

Или прикрепить ее к краю, где-то: (это выглядит смешно, но это просто продемонстрировать, вы можете прикрепить панель, перемещать ее или играть с помощью ToolStrip, например)

enter image description here

+0

сэр дайте мне совет, что я хочу видимый menustrip во всей форме, но другой элемент управления находится за открытой формой. –

+0

@rajeshjoshi. Какую проблему вы пытаетесь решить? Почему вы хотите, чтобы кнопка была в середине формы контейнера MDI? –

+0

Я бы установил кнопку на середине, это просто для цели тестирования .... на самом деле в середине у меня есть страница регистрации, но когда я открываю новую форму, страница за всеми элементами управления ... так что я могу решить эту проблему. –