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