0
我正在使用SplitContainer垂直分割MDI表单。在左侧面板上我有一个树形控件,在右侧面板上显示了子窗体。我试图确保在任何时候只有一个子窗体的实例是开放的。为此,我正在检查MdiChildren计数。但是,将子窗体添加到拆分容器的右侧面板后,mdi子窗体计数重置为零。与MDI和SplitContainer冲突
subjectForm.MdiParent = this;
Console.WriteLine("B => " + this.MdiChildren.Length);
this.splitContainer1.Panel2.Controls.Add(subjectForm);
Console.WriteLine("A => " + this.MdiChildren.Length);
在上面的代码示例中,这是我得到
B => 1的反应; A => 0
任何想法我错了?
您不能在面板中放置MDI子窗口。 Winforms忘记抛出异常。当你想这样做时,不要使用MDI。 –
有什么其他方法可以实现这一目标?我应该用Splitter吗?但MS建议否则。或者有没有办法摆脱SplitContainer中的右侧面板。 – cosmos
只需在面板上放置一个UserControl。 –