【发布时间】:2014-01-24 15:29:10
【问题描述】:
编辑
This Question 的答案虽然是一个明显的解决方案,但对于这种情况来说是不够的。我在最初的问题中加粗了原因,解释了为什么我希望它“从字面上回答” - 感谢 LarsTech!
我原来的问题:
我有一个包含 100 个 Form 屏幕的库,其中 'Beyond My Control' 我可以在我的应用程序中分享一些。但是,我的应用使用选项卡控件,我需要表单的内容显示在选项卡中,而不是弹出窗口。
当我尝试新建一个表单并将其添加到选项卡的控件集合中时,我收到以下错误消息:
无法将顶级控件添加到控件中。
有人知道如何解决这个问题吗?我知道还有其他涉及更好架构的方法,但最后期限、积压和丰富的新客户等待着。 [叹气/]
private void button1_Click(object sender, EventArgs e)
{
//panel1.Controls.Add(new Button());
Form f = new Form();
f.Controls.Add(new CheckBox());
//f.ShowDialog();
panel1.Controls.Add(f);
}
【问题讨论】:
-
将现有表单转换为用户控件,并在原始表单中包含该用户控件,然后在您的选项卡控件中包含该用户控件会非常快。这将允许您“即时”转换表单,而不必一次更改所有内容。
-
感谢您的输入...但我无法更改它们,不想复制它们,并想分享它们。很好的建议,但在大多数情况下,这就是答案。