как показать дочернюю форму в контейнере MDI без появления элементов управления в форме контейнера в дочерней форме? - PullRequest
1 голос
/ 08 ноября 2010

в моем проекте в форме контейнера я использую кнопки для открытия дочерних форм, а не Strip Menu, но кнопки в контейнере всегда появляются в дочерней форме как прикрутить кнопки или любые другие элементы управления над дочерней формой я использую Visual Studio 2008 Professional Edition C # язык программирования alt text

как на этом изображении, кнопка должна быть в форме 1 и не отображаться в форме 2 (дочерняя) а также другие элементы управления в контейнере

Ответы [ 2 ]

2 голосов
/ 21 июня 2013

сэр, у меня есть лучшее решение для

создайте новую пустую форму и установите следующее свойство этой формы

установлено в событии Form_load

private void bg_Load(object sender, EventArgs e)
        {
            this.ControlBox = false;
            this.FormBorderStyle = FormBorderStyle.None;
            this.WindowState = FormWindowState.Maximized;
        }

чем после напишите следующий код в mdi form load event

  private void Main_Load(object sender, EventArgs e)
        {


            bg bg = new bg(); // create object of empty form my empty form name is "bg"
            bg.MdiParent = this;
            bg.Show();
        }

все, что вы хотите в фоновом режиме добавить в пустую форму ....] Наслаждайтесь

0 голосов
/ 08 ноября 2010

Вы должны использовать ToolStrip или MenuStrip для вызова формы вашего ребенка. В вашем случае, я предполагаю, что вы просто перетащите кнопку в форму Form1. Вот почему кнопка плавает.

Но если вы настойчивы и по-прежнему не хотите использовать ToolStrip и MenuStrip, вы можете скрыть кнопку после отображения дочерней формы. Пример:

private void button1_Click(object sender, EventArgs e)
{
     Form2 f2 = new Form2();
     f2.MdiParent = form1;
     f2.Show();
     button1.Visible = false; // This will cause your button to be hidden.
}
...