Когда вы нажимаете кнопку, выполняется обработчик события click. Это вызывает функцию tictactoe
. Там ваш код выполняется сверху вниз, который сначала проверяет .Text
первой кнопки в вашем массиве и настраивает ее. Затем закончится ваш If..Else. На следующем нажатии это повторяется. Это приводит к поведению.
Вместо этого вы должны наложить объект sender
на Button
и только работать над этим. Нет необходимости в целом блоке If..Else
. Sender
- объект, который поднял событие (здесь: нажата кнопка).
public void tictactoe(object sender, EventArgs e)
{
Button b = (Button)sender;
if (string.IsNullOrEmpty(b.Text)) {
b.Text = player;
}
}
После этого вы также должны перевернуть player
от X
к O
или наоборот, но вы узнаете, как сделать это, я считаю. :-)
Эти кнопки никогда не добавляются в форму, так что я понятия не имею, какую кнопку вы нажимаете, но его не те, в вашем массиве. Что случилось с вашим методом InitializeComponent()? – Sayse