Как можно укоротить этот метод?
В зависимости от входящего значения он отмечает чекбоксы.
private void CheckB(int i)
{
switch (i)
{
case 0:
c1.Checked = true;
return;
case 1:
c2.Checked = true;
return;
case 2:
c3.Checked = true;
return;
case 3:
c4.Checked = true;
return;
case 4:
c5.Checked = true;
return;
case 5:
c6.Checked = true;
return;
case 6:
c7.Checked = true;
return;
case 7:
c8.Checked = true;
return;
case 8:
c9.Checked = true;
return;
case 9:
c10.Checked = true;
return;
case 10:
c11.Checked = true;
return;
case 11:
c12.Checked = true;
return;
}
Ответ
Можно поместить чекбоксы в массив:
private readonly CheckBox[] checkBoxes;
В конструкторе (после InitializeComponent();) создаем массив:
checkBoxes = new[] { c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12 };
Тогда ваш метод будет выглядеть так:
private void CheckB(int i)
{
if (i >= 0 && i < checkBoxes.Length)
checkBoxes[i].Checked = true;
}
Комментариев нет:
Отправить комментарий