繁体   English   中英

C#表单中的Winform表单

[英]C# Winform Forms in Form

我想打开一个表单的多个实例,并以另一种形式或另一种形式的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窗体>继承窗体。 它允许您选择要嵌入的表单作为另一个表单的起点。 这是VS 2015社区版。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM