J'ai donc une étiquette ici (""). Lorsque le bouton (bouton1) est cliqué, le texte de l'étiquette se transforme en "Test". Après 2 secondes, le texte est remis dans "". J'ai fait ce travail avec une minuterie (qui a un intervalle 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 = "";
}
Cela marche; cependant, je suis curieux de le faire fonctionner dans une méthode asynchrone.
Mon code ressemble à ceci actuellement:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Test";
MyAsyncMethod();
}
public async Task MyAsyncMethod()
{
await Task.Delay(2000);
label1.Text = "";
}
Mais cela ne fonctionne pas.
Comme je l'ai mentionné, votre code a bien fonctionné pour moi, mais essayez peut-être de définir votre gestionnaire sur async
et d'exécuter le Task.Delay
là-dedans.
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
label1.Text = "Test";
await Task.Delay(2000);
label1.Text = "";
}