Как чередовать вывод информации в c#?

105
12 сентября 2021, 14:30

Есть 9 кнопок, при нажатии на произовльную кнопку(при условии, что все остальные пустые) ставится текст "Х" на неё.Если выбрать след.произвольную кнопку, должен поставиться текст "0".Дальше 3-ю проивзольную кнопку, ставится "Х". Как это можно чередовать ?

 var buttons = new[] { Resource.Id.button1,
                              Resource.Id.button2,
                              Resource.Id.button3,
                              Resource.Id.button4,
                              Resource.Id.button5,
                              Resource.Id.button6,
                              Resource.Id.button7,
                              Resource.Id.button8,
                              Resource.Id.button9}.Select(b => FindViewById<Button>(b)).ToList();

        void buttonHandler(object sender, EventArgs e)
        {
            Button clicked = sender as Button;
            if (clicked.Text == "")
            {
                clicked.Text = "X";
            }
            else
            {
                clicked.Text = "0";
            }
        }

        for (var i = 0; i<9; i++)
        {
            buttons[i].Click += new EventHandler(buttonHandler);
        }
Answer 1

Решается через флаг.

private bool isCross { get; set; }

А дальше по коду:

if (clicked.Text == "")
{
    clicked.Text = isCross ? "X" : "0";
    isCross = !isCross; // не забываем поменять состояние флага
}
READ ALSO
new virtual метод что значит? [дубликат]

new virtual метод что значит? [дубликат]

Почему в этом случае выведется на экран "A"?

253
Как получить высоту заголовка колонны в dataGridView?

Как получить высоту заголовка колонны в dataGridView?

Ситуация такаяЕсть dataGridView, в котором названия колонн прописываются программно

181
Некорректно отрабатывает транзакция TransactionScope

Некорректно отрабатывает транзакция TransactionScope

Есть 2 связанных таблицыДобавляя запись в одну, во вторую добавляется несколько связанных

134
Обработка событий в ASP.NET MVC

Обработка событий в ASP.NET MVC

У меня в представлении(Formcshtml) есть кнопка: <a href="~/Home/Form" type="button">Ввести данные</a>

133