在运行时构建控件

时间:2011-05-09 13:28:34

标签: c# winforms

我有一个表单的一部分,其中控件(文本框,标签等)需要在运行时构建,具体取决于用户选择的选项。总共可能会有大约7到10种不同的布局。

创建和维护它们的最佳方法是什么?

干杯 卢克

3 个答案:

答案 0 :(得分:5)

了解更多有关您情况的具体信息(我们会谈论哪种选择?)

但是,我猜你可能想要创建一组Panel来包含适当的控件,然后根据选项隐藏或显示它们。

答案 1 :(得分:0)

我实际上必须这样做。我用一组面板(如@David建议的那样)和TreeView进行了。使用树视图,我自定义了视觉效果,使它们模仿Microsoft Office中的选项菜单,然后根据用户选择的节点显示相应的面板。如果您想查看代码示例,请告诉我。

答案 2 :(得分:0)

所有WinForms控件都有相应的类(Button,Link,EditBox等)。您可以创建所需的任何控件并将它们附加到表单中。

在表单Init中,您可以向Controls集合添加新控件。

public void Init()
{
   this.Controls.Add(new TextBox());
}

MSDN中的更多详细信息:

http://msdn.microsoft.com/en-us/library/0h5y8567.aspx