Как использовать задачу для отображения отложенного текста
Я делаю несколько простых тестов с Task. Run в C# 5.0. Я создал форму с кнопкой и меткой, чтобы проверить ее. Должно быть, это довольно просто, но до сих пор не получалось.
Как я могу записать задержку в метку, не блокируя пользовательский интерфейс ?
Вот мой пример кода:
private void Button_Click(object sender, EventArgs e) { writeStatus("test 1"); } private Task taskWriteStatus(string text) { return Task.Run (() => { labelWrite(text); }); } private void labelWrite(string text) { Task.Delay(300).Wait(); label1.Text = text; } private async void writeStatusAsync (string text) { await taskWriteStatus(text); }
Что я уже пробовал:
Я провел некоторые исследования и нашел различные подходы к решению этой проблемы, как эта хорошая статья:
https://blog.imaginea.com/elegant-c-asynchrony/