2009-01-13 66 views
2

我想創建一種帶有文本框和複選框的4 x 3矩陣。元素是複選框還是文本框取決於數據庫中的值。我希望它是動態的。什麼是最好的開始?c中的動態控件#

// something like this but I need to fill in each elements of the matrix... 
    private void CreateSpecificControl(string requestedType) 
     { 
       if (requestedType == "CheckBox") 
       { 

        CheckBox control1 = new CheckBox(); 

        control1.Click += new EventHandler(chk_CheckedChanged); 

        //TableLayout panel 
        layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25)); 
        layout.Controls.Add(control1); 

       } 
       else 
       { 
        Label control1 = new Label(); 

        control1.Text = "Not a checkbox"; 
        layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25)); 
        layout.Controls.Add(control1); 

       } 

     } 
+0

你能否用更多的細節來更新你的問題,比如你正在談論什麼編程語言/環境,以及關於特定問題的一些背景知識。謝謝。 – 2009-01-13 04:47:31

+0

這是在winform中,我使用TableLayoutPanel與growstyle作爲附加。但那樣我就無法挑選和選擇每個元素。所有元素必須是文本框或複選框。 – 2009-01-13 04:52:06

回答

1

使用usercontrol。看到這個tutorial

在運行時您可以更改用戶控件的內容。每個用戶控件中都有一個Controls集合,您可以添加或刪除元素。例如,如果你想添加的複選框只是不somethign這樣的:

myUserControl.Controls.Add(new CheckBox()); 

同樣的元素可以從這個集合中刪除,從而實現動態行爲。