当设计一个需要大量组件的表单时,您可以使用各种方法,这些方法将在您找到时获得所需的结果。纵观一些possibilites的...
方法1:为每个配置
这不是一个坏主意,因为用户做出选择之后,你可以创建所需形式的新实例创建单独的形式,但建立所有单独的表格需要一些时间,但并不困难。
方法2:针对每个配置
这工作类同方法一个除了你最初将隐藏所有的面板,然后显示用户选择面板创建多个面板。您可以提前创建面板并隐藏或显示,也可以在运行时以编程方式执行。 (如果以编程方式执行面板,那么肯定不适当的是,在我看来,许多面板都装满了部件)
方法3;以编程方式创建所需组件
您可以编写代码以根据用户选择生成所需的组件。
例子:
if(comboBox1.SelectedIndex == 0)
{
ComboBox selection1 = new ComoboBox();
selection1.Location = new Point(XXX,YYY); //Set location
//You can add the events for the combobox, set up the properties
form1.Controls.Add(selection1); //Add the component to the form or panel that you want it displayed on
//Write code to dynamically create next object(s)....
}
else if (comboBox1.SelectedIndex == 1)
{
//Programmatically create components for selection2
}
这些我觉得方法1是最容易的,因为它只是放置组件的形式,但是这将是费时。在我看来,编程方式可能是最优雅的,只要你把代码组织得很好以适应不同的可能性,并且你没有多种形式或面板来处理。你只会搞乱组件。但是,以编程方式创建组件时,分配属性也很耗时。
我不是100%确定这样做的最正式的方法是什么,但这些只是一些想法。
希望这会有所帮助。
既然你已经关闭了这个,那你一定觉得没有其他人会用变化的信息去定制一个面板吗?我觉得这很令人惊讶。我原以为有这样的最佳做法。 – Brandon 2012-07-30 15:03:53