Итак, я обозначил здесь (""). Когда нажата кнопка (кнопка1), текст ярлыка превращается в «Тест». Через 2 секунды текст возвращается обратно в "". Я сделал эту работу с таймером (который имеет интервал 2000):Использование async для сна в потоке без замерзания
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Test";
timer.Enabled = true;
}
private void timer_Tick(object sender, EventArgs e)
{
label1.Text = "";
}
Это работает; однако, мне любопытно, что он работает в асинхронном методе.
Мой код выглядит следующим образом в настоящее время:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Test";
MyAsyncMethod();
}
public async Task MyAsyncMethod()
{
await Task.Delay(2000);
label1.Text = "";
}
Это не работает, хотя.
Я просто попробовал ваш метод, и он работает отлично, на кнопку она меняется на «Тест» 2 секунды позже он изменяется на «» –
Не могли бы вы разъяснить на «Это не работает»? Что вы ожидали и что вы наблюдали? Ошибки компилятора? Трассировка стека исключений? –