C#表单中的Winform表单
我想打开一个表单的多个实例,并以另一种forms或另一种forms的paenel显示它。 怎么做
如果您没有使用MDI,您仍然可以将表单添加到另一个表单或表单上的面板。
public Form1() { InitializeComponent(); Form2 embeddedForm = new Form2(); embeddedForm.TopLevel = false; Controls.Add(embeddedForm); embeddedForm.Show(); }
您需要将FormBorderStyle
设置为None
,除非您希望在表单中包含实际的可移动表单。
如果要执行此操作以创建可在多个表单中使用的可重用“模板”,则应考虑创建用户控件。 不要与自定义控件混淆,后者适用于需要执行自己的绘图而不是使用标准Windows控件集合的情况。
我不完全确定你的意图是什么,但是MDI(正如其他答案中提到的那样)可能实际上就是你正在寻找的东西。
你应该:
1)选择MDI,这意味着接受GUI的完整MDI样式
要么
2)根本没有嵌入表单,使用UserControls会更好(也更容易)。 在做出选择之前尝试一下。 如果您确实使用表单,请确保快捷键等都可以按您的需要运行。
简短介绍:您像设计一样设计UserControl,然后将其放在Form上,就像任何其他Control一样。
Form1 fChild = new Form1(); fChild.MdiParent = this; fChild.Show();
并且父级的IsMDIContainer
应设置为True。
有关完整的教程,您可以参考: 使用C#@ CodeProject介绍MDI表单 。
我遇到了这个老线程,寻找类似的东西。 万一其他人在看 – 我使用添加新项目> Windows窗体>inheritance窗体。 它允许您选择要嵌入的表单作为另一个表单的起点。 这是VS 2015社区版。