Как заполнить флажки с учетом начала и количества флажков для заполнения? - PullRequest
0 голосов
/ 27 апреля 2019

Я думал об эффективном решении для этого, но я не могу найти способ, у меня есть 8 флажков в групповом поле, и я хочу проверить некоторые из них, учитывая флажок запуска и номер последующего флажказаполнить.

public void modifyDigitalPins(byte adress, byte lenght)
{
    int startPin = (byte)adress;
    int numberPins = (byte)lenght;

    foreach(CheckBox a in groupBox2.Controls)
    {

    }
}

1 Ответ

0 голосов
/ 27 апреля 2019

Предполагая, что они называются «checkBox1» через «checkBox8», вы можете сделать что-то вроде:

public void modifyDigitalPins(byte address, byte length)
{
    int startPin = (byte)address;
    int numberPins = (byte)length;

    for(int i=1; i <= numberPins; i++)
    {
        Control ctl = this.Controls.Find("checkBox" + (startPin + (i - 1)).ToString(), true).FirstOrDefault();
        if (ctl != null && ctl is CheckBox)
        {
            CheckBox cb = (CheckBox)ctl;
            cb.Checked = true;
        }
    }
}

Это можно легко изменить, если ваши элементы управления следуют другой схеме именования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...