SplitContainer的面板作为其他表单的MDI父级

时间:2010-11-20 00:08:50

标签: c# winforms mdiparent splitcontainer

我添加了Splitcontainer的控件。我想放置 第二个面板上的另一个表单(Panel2)。但是,这是不可能的 将全新表单的MDIParent属性设置为Panel2

因此,问题是 - 如何将SplitContainer's面板设置为另一个控件的MDIParent

提前感谢您的线索!

欢呼声

3 个答案:

答案 0 :(得分:2)

如果您想制作Panel-Splitter-MdiClient表单,请参阅panel and MDI in c#

答案 1 :(得分:1)

MDIParent只能是另一个表格。您需要做的是在子表单上将TopLevel设置为False。然后,您可以将它添加到任何控件,就像它是任何其他控件一样(通过将其添加到父控件的Controls集合中)。但是,它不会像在MDI容器中那样工作(因为你无法最小化或最大化它)。

答案 2 :(得分:0)

如果您的意图是使用splitcontainer加载不同的子表单,这可能会有所帮助。您可以使用从包含普通WinForm可能具有的所有小部件的面板派生的类,而不是使用WinForms。要显示它们,只需将它们添加到splitcontainer的Panel2控件集合中。

要记住的一些事件和方法是:

  • subformPanel.ParentChanged(做一些初始化并订阅任何父事件)
  • subformPanel.ParentChanged(做一些清理和取消订阅父事件)
  • Parent.Controls.Remove(销毁子窗体)