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回書く必要はありません

誰もが考えを持っています...?

4

2 に答える 2

1

チェックボックスを配列またはリストに入れて、セットベースの方法で操作できるようにします。

例えば

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

list[2].Checked = true;
于 2012-07-24T09:20:09.770 に答える
1

このコードで試してください

foreach (CheckBox checkbox in yourPanelContainer.Controls.OfType<CheckBox>())
{
   checkbox.Checked = true;
}
于 2012-07-24T09:24:47.957 に答える