private void ChangeButtonColor(TButton cell, System.Drawing.Color color) //меняет цвет ячейки на заданный, а потом возвращает его обратно { cell.BackColor = color; Thread.Sleep(200); //cell.BackColor = System.Drawing.Color.WhiteSmoke; cell.BackColor = cell.MainColor; }
private async void CellsDisplayClick(object sender, EventArgs e) //обработка нажатия по игровому полю { TButton cell = (TButton)sender; int indexX = int.Parse(cell.Name[0] + ""); int indexY = int.Parse(cell.Name[1] + ""); if (this.game.UseSkill(indexX, indexY)) //смотрим смогли мы использовать скил по этому полю { await Task.Run(() => ChangeButtonColor(cell, System.Drawing.Color.Green)); //в паралельном потоке меняем цвет нажатой ячейки на зелёный this.DisplayShow(); //выводим } else { await Task.Run(() => ChangeButtonColor(cell, System.Drawing.Color.Red)); //т.к. скил не выполнился, то в паралельном потоке меняем цвет на красный } }