打开子表单时,它隐藏在MDI父容器的标题栏后面。
儿童表单的WindowState
设置为Maximized
。 FormBorderStyle
设置为None
。
如果我最小化MDI父级并最大化它,那么子表单就会出现在前面。
如何克服这种情况?
修改
我使用以下代码打开子表单。
this.childForm= new ChildForm();
this.childForm.MdiParent = this;
this.WindowState = FormWindowState.Maximized;
this.childForm.Dock = DockStyle.Fill;
this.childForm.Show();
this.childForm.BringToFront();
this.childForm.Focus();
答案 0 :(得分:4)
请尝试以下代码。
Form1 newMDIChild = new Form1();
newMDIChild.MdiParent = this;
newMDIChild.Show();
this.LayoutMdi(MdiLayout.Cascade);
newMDIChild.Dock = DockStyle.Fill;
答案 1 :(得分:3)
本机Windows MDI实现无法处理无边界MDI子窗口。不幸的是,Winforms忘记执行该限制。您可以在Show()调用之后移动WindowState赋值,但这会导致另一个问题。
不要让它无边框,无论如何都不会看到边框。
答案 2 :(得分:0)
AboutBox1 ab = new AboutBox1();
ab.MdiParent = MDIForm.ActiveForm;
ab.TopMost = true;
ab.Show();