Как показать дочернюю форму в контейнере MDI без появления элементов управления в форме контейнера в дочерней форме?

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

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

2 ответа

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

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

установить в событии Form_load

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

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

  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();
        }

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

Вы должны использовать 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.
}
Другие вопросы по тегам