我有一个窗体在一边的树形视图。根据选择的节点,我想在右侧显示不同的内容。为了保持代码和控件的可管理性,我的计划是将内容分离为单独的表单,并在面板中显示表单。父窗体到面板
在我的TreeView AfterSelect事件,我试图实例的形式,并设置它的母公司在面板上,但我得到一个异常“顶级控件不能被添加到一个控制”:
Form frmShow = new MyForm();
frmShow.Parent = this.pnlHost;
这不是MDI配置,但我尝试将窗体MdiParent属性设置为父窗体,然后将窗体的Parent属性设置为面板,但我得到一个异常“为此窗体指定为MdiParent的窗体不是MdiContainer参数名称:值“:
Form frmShow = new MyForm();
frmShow.MdiParent = this;
frmShow.Parent = this.pnlConfigure;
我不能将窗体设置为MDI容器,因为它不是顶层窗体,它实际上是一个停靠在父窗体内部的窗体(使用WeifenLuo对接库)。
是否有某种方式在非MDI框架中的面板中父窗体?
改为使用UserControls! – Jeremy 2010-12-19 21:22:53
好的,是否解决了问题? – 2010-12-19 21:25:38
@亨克 - 是的。用户控件是正确的选择,Forms是一种被误导的方法,我应该从一开始就看到。 – Jeremy 2010-12-19 23:52:34