控制MDI父背景

时间:2009-02-09 13:14:54

标签: vb.net winforms visual-studio-2005

将控件放在MID父窗口的背景上是一个好主意吗?我已经在MDI窗口中添加了一个拆分容器,它按预期显示但是当我尝试在同一个窗口中打开任何其他窗体时,它们显示了对SplitContainer的BEHIND。让它们弹出的唯一方法是使用ShowDialog来显示它们。不幸的是,我需要能够同时打开多个窗口,所以这不是一个实用的解决方案。

我接触过这个错误的方法吗?

1 个答案:

答案 0 :(得分:2)

您无法添加任何涵盖MDI客户端窗口的控件(深灰色背景)。 MDI客户端显示客户端窗口作为父级,因此它们的Z顺序低于控件。

WF确实支持停靠控件,它会自动将客户区调整为父窗体中的剩余空间。但就是这样,SplitContainer无法工作。

请注意,您可以在SplitContainer的面板上显示表单。将其TopLevel属性设置为False,以便它们变为控件。例如:

  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      Form2 f2 = new Form2();
      f2.TopLevel = false;
      f2.FormBorderStyle = FormBorderStyle.None;
      f2.Visible = true;
      splitContainer1.Panel1.Controls.Add(f2);
    }
  }