@Roman_2017

Как сделать выполнение функции после отсчета таймера одной секунды (не Thread.Sleep(1000)) в c#?

Вот часть кода :
else if (card1 == 3)
{
pictureBox2.Image = System.Drawing.Image.FromFile(@"D:\Roma\card4.png");
}
card2 = cards.Next(0, 4);
ТУТ ДОЛЖНА ПРОХОДИТЬ 1 СЕКУНДА ПОСЛЕ ЧЕГО ВЫПОЛНЯЕТСЯ СЛЕДУЮЩЕЕ ДЕЙСТВИЕ:
if (card2 == 0)
{
pictureBox3.Image = System.Drawing.Image.FromFile(@"D:\Roma\card1.jpg");
}
  • Вопрос задан
  • 393 просмотра
Пригласить эксперта
Ответы на вопрос 3
await Task.Delay(1000);
Ответ написан
Комментировать
Morpheus_God
@Morpheus_God
Самое простое через Thread.Sleep(1000);
Или выполнять Timer.
Ответ написан
@basrach
this._timer = new System.Windows.Forms.Timer();
this._timer.Interval = (int)TimeSpan.FromSeconds(1).TotalMilliseconds;
this._timer.Tick += (e, args) =>
{
this._timer.Stop();
if (card2 == 0)
{
pictureBox3.Image = System.Drawing.Image.FromFile (@"D:\Roma\card1.jpg");
}
};
this._timer.Start();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы