Intereting Posts
Получить отключенный статус службы Windows динамически создавать несколько текстовых полей C # Документ WebBrowser завершен Событие C # Как отключить сортировку в DataGridView? в какой момент linq-to-sql или linq отправляет запрос в базу данных Как обращаться к детям в дереве с миллионами узлов Антивирусные сканеры блокируют и удаляют временные файлы – лучший способ справиться с ними? Синхронизация прошедшего таймер. Таймер при завершении Как получить доступ к экземпляру службы WCF в текущем контексте? Могу ли я динамически добавлять HTML в тег div из C # при загрузке? Как заставить всплывающие windows WPF не скрываться за основным приложением? Привязка модели DataContract к JSON в ASP.NET MVC Action Method Аргументы должен объявить тело, потому что оно не отмечено абстрактным или внешним? C # / ASP.NET Добавление таблиц стилей программно в Asp.Net Как установить значение для объекта Linq во время запроса?

Использование async для сна в streamе без замораживания

Итак, я здесь ярлык (“”). Когда нажата кнопка (кнопка1), текст ярлыка превращается в «Тест». Через 2 секунды текст возвращается обратно в “”. Я сделал эту работу с таймером (который имеет интервал 2000):

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 = ""; } 

Однако это не работает.

    Как я уже говорил, ваш код работал отлично для меня, но, возможно, попробуйте настроить обработчик на async и запустить Task.Delay .

     private async void Button_Click_1(object sender, RoutedEventArgs e) { label1.Text = "Test"; await Task.Delay(2000); label1.Text = ""; }