2012-07-24 72 views
0

我需要簡單的邏輯迭代,但很多項目...... 這是我的代碼集衆多複選框

 byte[] nc1 = new byte[40]; 
     nc1 = ChekSt(36, "192.168.2.55", 38, 40); 

     //I need to iterate 40 times so my 40 checkbox can be updated 

     switch (nc1[0]) 
     { 
      case 1: checkBox1.Checked = false; break; 
      case 2: checkBox1.Checked = true; checkBox1.CheckState = CheckState.Indeterminate; break; 
      case 3: checkBox1.Checked = true; checkBox1.CheckState = CheckState.Checked; break; 
     } 

我有checkBox1,checkBox2,checkBox3 ......到checkBox40

我需要像成才checkBox(i).checked = true;

所以不用寫我的代碼40次

任何人都有想法......?

+0

哇,用戶操作導致你更新他們的40? – 2012-07-24 09:26:32

回答

1

嘗試使用此代碼

foreach (CheckBox checkbox in yourPanelContainer.Controls.OfType<CheckBox>()) 
{ 
    checkbox.Checked = true; 
} 
+0

應該.Controls而不是.Children – linquize 2012-07-24 09:27:15

+0

哇這也是作品..非常感謝 – user1054776 2012-07-24 10:46:30

1

將複選框放入數組或列表中,以便可以以基於集合的方式操縱它們。

例如

var list = new List<CheckBox>(); 
list.Add(checkBox1); 
list.Add(checkBox2); 
list.Add(checkBox3); 

list[2].Checked = true; 
+0

謝謝簡單的答案,但它的作品在我.. – user1054776 2012-07-24 10:43:15