我在c#
中显示表单时尝试指定父MDI表单所有示例建议仅使用
FormVariable.Parent = this;
这可以正常运行,假设您希望始终从父窗口打开表单。
我希望能够通过指定名称打开表单并将Parent表单设置为我的MDI Parent表单。
在VB.net我用过
Me.MdiParent = TheNameOfMyParentForm
当我在c#中尝试类似的东西时
this.MdiParent = CruxMDI();
我得到了
'Crux.CruxMDI'是'类型',但用作'变量'
答案 0 :(得分:1)
Form.MdiParent
必须引用一个具体的实例。那么,也许在您的Parent容器中实现Singleton模式(您可能不希望允许多个父窗口,不管怎样?)是个好主意,这样您就可以从任何需要的地方引用它。然后你只需输入:
this.MdiParent = CruxMDI.Instance;
如果要自动添加此类行为并且需要在应用程序的许多表单中进行,则在创建从Form继承的自定义基类时,可以考虑使用该选项。这样你只需指定一次,然后你就需要确保从这个基类而不是默认的Form继承新的Forms。
无论哪种方式,您都需要使用某种机制来引用MDI容器的实例。