C# 在表单C中打开表单#

C# 在表单C中打开表单#,c#,forms,C#,Forms,我想知道,是否可以在C#中的表单中打开表单?我的意思是,例如,在表单1中,有一个链接说:“打开表单2”,当用户单击该链接时,“表单2”将以相同的形式打开。这就像通过不同的形式导航一样。我需要一些代码来开始。提前感谢。您可以在另一个控件(即面板)中托管表单。设置窗体的TopLevel属性false,并将主机控件Content设置为窗体的一个实例 示例代码: var childForm = new ChildForm() {TopLevel = false, Visible = true}; whi

我想知道,是否可以在C#中的表单中打开表单?我的意思是,例如,在表单1中,有一个链接说:“打开表单2”,当用户单击该链接时,“表单2”将以相同的形式打开。这就像通过不同的形式导航一样。我需要一些代码来开始。提前感谢。

您可以在另一个控件(即
面板
)中托管表单。设置窗体的
TopLevel
属性
false
,并将主机控件
Content
设置为窗体的一个实例

示例代码:

var childForm = new ChildForm() {TopLevel = false, Visible = true};
while (hostPanel.Controls.Count > 0) hostPanel.Controls[0].Dispose();
hostPanel.Controls.Add(childForm);
编辑:

我假设您希望在另一个窗体(控件)中显示一个窗体

显示另一个表单(在新窗口中)就像在his中提到的在其实例上调用
Show()
/
ShowDialog()
方法一样简单。

永远不要使用控件。Clear(),它会永久泄漏控件和窗口句柄。