Это известная ошибка в реализации MDI, возникающая при создании развернутого дочернего окна в родительском конструкторе.Вот пример:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
var child = new Form2();
child.MdiParent = this;
child.WindowState = FormWindowState.Maximized;
child.Show();
}
}
Вы увидите дважды отображенные глифы min / max / restore, а восстановление дочернего окна оставляет панель MDI на экране, как на первом снимке экрана.Обходной путь - переместить дочерний код создания в метод OnLoad ().Как это:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
var child = new Form2();
child.MdiParent = this;
child.WindowState = FormWindowState.Maximized;
child.Show();
}
}