子窗体隐藏在MDI父容器后面

时间:2011-08-12 06:39:31

标签: c# .net winforms visual-studio mdi

打开子表单时,它隐藏在MDI父容器的标题栏后面。

enter image description here

儿童表单的WindowState设置为MaximizedFormBorderStyle设置为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();

3 个答案:

答案 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();