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社区版。