C# 面板作为 MDI 容器
在 C# 中,我想创建一个具有 MDI 容器属性的面板,即。 isMdiContainer = true。
我尝试过类似的方法
form.MDIParent = this.panel1;
但这不起作用。 有什么建议么?
In C# i want to create a panel that has the properties of a MDI container ie. isMdiContainer = true.
I tried something like this
form.MDIParent = this.panel1;
But that dont work. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以创建一个 MDI 面板并在该面板中显示表单,类似下面的代码将完成
Mdi-Panel 定义的工作:
用法:
It is possible to create an MDI-panel and show forms in that panel, something like the code below will do the job
Mdi-Panel definiton:
Usage:
您可以创建自定义表单,删除所有边框和工具栏,使其看起来尽可能接近面板。 然后将该新的自定义表单设为 MdiContainer。
基本上,您只能在窗体上设置 IsMDIContainer 属性。 这意味着只有表单可以是 MdiContainer。
You could create custom form, remove all borders, and toolbars to make it look as closely to a panel as possible. Then make that new custom form a MdiContainer.
Basically, you can only set the IsMDIContainer property on a Form. This means that only a form can be a MdiContainer.
我使用了上面马蒂亚斯的答案,并且能够消除评论中提出的大部分问题。 我还为子表单创建了一个辅助类,以防有人想要使用它和/或使其变得更好。
I used Mathias's answer above and was able to get rid of most of the issues raised in the comments. I created a helper class for the child forms as well, in case anyone wanted to use it and/or make it better.