Моя дочерняя форма открывается в новом окне, а не в форме MDI, когда я использую следующий код:
Form1 f1 = new Form1();
f1.Dock = DockStyle.Fill;
f1.MdiParent = this.MdiParent;
this.WindowState = FormWindowState.Maximized;
f1.Show();
Моя дочерняя форма открывается в новом окне, а не в форме MDI, когда я использую следующий код:
Form1 f1 = new Form1();
f1.Dock = DockStyle.Fill;
f1.MdiParent = this.MdiParent;
this.WindowState = FormWindowState.Maximized;
f1.Show();
Как было предложено @Keyur PATEL в комментарии, вы должны установить родительский объект формы «f1» в объект формы (не свойство объекта MdiParent), в который вы хотите ввести форму «f1» в качестве дочерней формы MDI (а не в свойство родительской формы, а к самому объекту).
Дополнительные сведения см. в Microsoft docs о приложениях MDI.
Form1 f1 = new Form1();
f1.Dock = DockStyle.Fill;//This is not necessary,can work without it
f1.MdiParent = this; //try like this
this.WindowState = FormWindowState.Maximized;
f1.Show();
f1.MdiParent = this;
вместоf1.MdiParent = this.MdiParent;
? Я не знаком с MDI, но после краткого просмотра кажется, что вы устанавливаете родителя новой формы для родителя текущей формы, а не для самой текущей формы. - person Keyur PATEL   schedule 19.09.2017