Отключение указанных c кнопок подряд при выполнении определенного условия - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь отключить кнопки при выполнении определенного условия. У меня есть 3 ряда кнопок, и когда я нажимаю, например, на кнопку в ряду A, все остальные ряды кнопок отключаются. Мне уже удалось это сделать. Единственное, в чем я застрял, это то, что я пытаюсь включить ТОЛЬКО кнопки, которые находятся рядом с нажатой кнопкой. Это мой текущий код, в котором я пытаюсь это сделать, отключая каждую кнопку в строке A, которая не соответствует условию в операторе if (ch [1]! = X && ch [1]! = Y && ch [ 1]! = Ch [1]), к сожалению, это ничего не делает. Все мои кнопки названы как A1 et c. таким образом, первый символ - это имя строки, а второй символ - номер кнопки. Предложения, как я могу это исправить?

РЕДАКТИРОВАТЬ: я включил весь код, чтобы, возможно, было легче понять, но часть кода, о котором я говорю, это:

  if (ch[0] == 'A')
            {
                Disable_Row(row_B);
                Disable_Row(row_C);

                foreach (Button button in row_A)
                {
                    if (ch[1] != x && ch[1] != y && ch[1] != ch[1])
                    {
                        button.Enabled = false;
                    }

                    else
                    {
                        button.Enabled = true;
                    }
                }

Это весь код:


private void Button_click(object sender, EventArgs e)
    {

        Button b = (Button)sender;

        var ch = b.Name.ToCharArray();

        int x = ch[1]++;
        int y = --ch[1];

        if(b.BackColor == Color.Green)
        {


            if (ch[0] == 'A')
            {
                Enable_Row(row_B);
                Enable_Row(row_C);
            }

            if (ch[0] == 'B')
            {
                Enable_Row(row_A);
                Enable_Row(row_C);

            }

            if (ch[0] == 'C')
            {
                Enable_Row(row_A);
                Enable_Row(row_B);
            }

            b.BackColor = Color.White;
        }

        else
        {

            if (ch[0] == 'A')
            {
                Disable_Row(row_B);
                Disable_Row(row_C);

                foreach (Button button in row_A)
                {
                    if (ch[1] != x && ch[1] != y && ch[1] != ch[1])
                    {
                        button.Enabled = false;
                    }

                    else
                    {
                        button.Enabled = true;
                    }
                }
            }

            if (ch[0] == 'B')
            {
                Disable_Row(row_A);
                Disable_Row(row_C);

            }

            if (ch[0] == 'C')
            {
                Disable_Row(row_A);
                Disable_Row(row_B);
            }

            b.BackColor = Color.Green;
        }

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