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

Я попытался создать новую форму внутри Parent. Я установил FormBorderStyle на none.

Когда я настраиваю MDIParent на myForm, это дало мне больно выглядящую ошибку, подобную этой:

System.ArgumentException : The given Form is not being recalled as a MdiContainer.

Это мой код для создания новой формы Windows.

FrmHome myForm = new FrmHome ();
myForm.TopLevel = false;
pnlContainer.Controls.Add(myForm);
myForm.Show();

person Martijn    schedule 04.12.2018    source источник
comment
Новое приложение Windows Forms? Например, вы загружаете другой EXE-файл или динамически компилируете другое приложение? Или ты имеешь в виду новую форму?   -  person Llama    schedule 04.12.2018
comment
Я имею в виду новую форму   -  person Martijn    schedule 04.12.2018


Ответы (1)


У родителя Mdi для свойства IsMdiContainer должно быть установлено значение True.

Вы можете установить это свойство во время разработки в основной форме или во время выполнения:

Form1 f1 = new Form1();
f1.MdiParent = this;
f1.Show();

Form1 — это имя формы, которую вы хотите показать.

Свойство Form.IsMdiContainer

Значение свойства Boolean true, если форма является контейнером для дочерних форм MDI; в противном случае ложно. Значение по умолчанию — ложь.

person Jazb    schedule 04.12.2018