Проблема с моим кодом WinForms CheckBox - PullRequest
0 голосов
/ 10 августа 2010

У меня есть требование, когда, если я нажму на флажки, то соответствующий порт должен быть обновлен, и эти обновленные порты будут использоваться в другом файле для отправки выходных данных на эти конкретные порты.Поэтому, когда я нажимаю на clickbox 1 4 и 7, эти соответствующие порты должны быть включены.В месте, где должен произойти вывод (т.е. class2), я запускаю цикл, который будет считывать данные из порта в цикле while (скажем), поэтому должны работать только 1 4 и 7 портов, которые включены.Скорее всего, если я нажимаю на флажки 1 2 3, т.е. последовательные числа, это работает нормально, если я нажимаю, скажем, 7, то уменьшение цикла и, наконец, порты от 1 до 7 включаются, когда должен мигать только 7,то есть, начинается с 7, затем 6, затем 5, затем, наконец, 1, и все индикаторы мигают, когда должен мигать только 7.

это условие флажка:

    private void checkBox4_CheckedChanged_1(object sender, EventArgs e)
    {
        if (sender is CheckBox)
        {
            CheckBox checkbox = sender as CheckBox;
            if (checkbox.Checked)
            {
                Enableports[4] = true; or Enableport(4); // im setting that port 4 to true( Enableports[4] = true ) and directly entering the value in another API( Enableport(4) ). 
            }
            else
            {
                Disableport(4);
            }
        }
    }

это цикл: (это в другом классе) bool [] Enabledports {get;задавать;} это объявление для Включенных портов.void Enableport (int output);для одного.

            for (int i = 0; i <= 12; i++)
            {
                if (Enabledports[i] == true) // API to check those enabled ports only
                {
                    Enableport(i);
                }

            } 

здесь Enabledports - bool[] тип возврата.

Я не уверен, правильно ли я это делаю.Я только начинающий, и любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 10 августа 2010

Я не совсем уверен, что правильно понял ваш вопрос, но я все равно предложу свой лучший совет:

  1. Я считаю плохой идеей делать «EnablePort ()» в одном месте («цикл в другом классе») и «DisablePort ()» в другом (внутри предложения «else» checkBox4_CheckedChanged_1 () метод обработки событий).

  2. Я не понимаю, почему вы должны делать «EnablePort ()» внутри цикла, а не вызывать его напрямую из метода checkBox4_CheckedChanged_1 (). Если это не требуется, я бы предложил просто вызвать «EnablePort ( ) "напрямую.

Только мои 2 цента ...

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