Дочерняя форма открывается в новом окне

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

Form1 f1 = new Form1();
f1.Dock = DockStyle.Fill;
f1.MdiParent = this.MdiParent;

this.WindowState = FormWindowState.Maximized;

f1.Show(); 

person Ashiq    schedule 19.09.2017    source источник
comment
Не могли бы вы попробовать f1.MdiParent = this; вместо f1.MdiParent = this.MdiParent;? Я не знаком с MDI, но после краткого просмотра кажется, что вы устанавливаете родителя новой формы для родителя текущей формы, а не для самой текущей формы.   -  person Keyur PATEL    schedule 19.09.2017
comment
f1.MdiParent = xxx, где xxx — родительская форма mdi, обычно основная форма приложения mdi.   -  person GuidoG    schedule 19.09.2017
comment
также не устанавливайте свойство док-станции и не устанавливайте свойство windowsstate. Это будет сделано автоматическим приложением mdi.   -  person GuidoG    schedule 19.09.2017


Ответы (1)


Как было предложено @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(); 
person haystackoverflow    schedule 19.09.2017
comment
f1.Dock = DockStyle.Fill не требуется - person Bhuban Shrestha; 19.09.2017
comment
@BhubanShrestha да, но это его код, я просто отредактировал то, что было не так. :) - person haystackoverflow; 19.09.2017
comment
Ничего такого. Но вы могли бы упомянуть и об этом. - person Bhuban Shrestha; 19.09.2017
comment
также обычно не устанавливают состояние окна в приложениях mdi, потому что каждой новой дочерней форме mdi будет автоматически присвоено то же состояние окна, что и другим дочерним формам mdi. - person GuidoG; 19.09.2017