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

C# 子窗体隐藏在MDI父容器后面,c#,.net,winforms,visual-studio,mdi,C#,.net,Winforms,Visual Studio,Mdi,打开子窗体时,它将隐藏在MDI父容器的标题栏后面 子窗体的WindowState设置为MaximizedFormBorderStyle设置为None 如果我最小化MDI父窗体并将其最大化,那么子窗体将出现在前面 如何克服这种情况 编辑: 我使用以下代码打开子窗体 this.childForm= new ChildForm(); this.childForm.MdiParent = this; this.WindowState = FormWindowState.Maxi

打开子窗体时,它将隐藏在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();

请尝试以下代码

    Form1 newMDIChild = new Form1();
    newMDIChild.MdiParent = this;
    newMDIChild.Show();
    this.LayoutMdi(MdiLayout.Cascade);
    newMDIChild.Dock = DockStyle.Fill;

本机Windows MDI实现无法处理无边界MDI子窗口。不幸的是,Winforms忘记强制执行该限制。可以在Show()调用之后移动WindowsState分配,但这会导致另一个问题


只是不要使其无边界,边界无论如何都不可见。

@Marshal从Nazima的代码中,尝试将DockStyle.Fill属性添加到子表单中。由于无边界子表单,DockStyle将正确“重新排列”您的子表单。请不要在您的问题或答案中使用签名。我们已经知道是你写的。
AboutBox1 ab = new AboutBox1();
ab.MdiParent = MDIForm.ActiveForm;
ab.TopMost = true;
ab.Show();