async c# asynchronous sleep freeze

async - task sleep c#



Usando async para dormir en un hilo sin congelar (1)

Como mencioné, su código funcionó bien para mí, pero tal vez intente configurar su controlador en async y ejecutar el Task.Delay allí.

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

Así que tengo una etiqueta aquí (""). Cuando se hace clic en el botón (button1), el texto de la etiqueta se convierte en "Prueba". Después de 2 segundos, el texto vuelve a establecerse en "". Hice este trabajo con un temporizador (que tiene un intervalo de 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 = ""; }

Esto funciona; Sin embargo, tengo curiosidad por hacerlo funcionar en un método asíncrono.

Mi código se ve así en este momento:

private void button1_Click(object sender, EventArgs e) { label1.Text = "Test"; MyAsyncMethod(); } public async Task MyAsyncMethod() { await Task.Delay(2000); label1.Text = ""; }

Aunque esto no funciona.