當設計一個需要大量組件的表單時,您可以使用各種方法,這些方法將在您找到時獲得所需的結果。縱觀一些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