Quindi ho un'etichetta qui (""). Quando viene cliccato il pulsante (button1), il testo dell'etichetta diventa "Test". Dopo 2 secondi, il testo viene reimpostato in "". Ho fatto questo lavoro con un timer (che ha un intervallo di 2000):Uso async per dormire in una discussione senza congelamento
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Test";
timer.Enabled = true;
}
private void timer_Tick(object sender, EventArgs e)
{
label1.Text = "";
}
Questo funziona; tuttavia, sono curioso di farlo funzionare in un metodo asincrono.
Il mio codice simile a questo momento:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Test";
MyAsyncMethod();
}
public async Task MyAsyncMethod()
{
await Task.Delay(2000);
label1.Text = "";
}
Questo non funziona però.
Ho appena provato il tuo metodo e funziona benissimo, il clic su di esso cambia per "testare" 2 secondi dopo si passa a "" –
Potrebbe esporre su "Questo non funziona"? Cosa ti aspettavi e cosa hai osservato? Errori del compilatore? Tracce dello stack di eccezioni? –