C# Windows Forms - Button farbe nach klick ändern mit zeitlicher verzögerung?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Moin,

es gibt Timer, die asynchron laufen.

Einfach einen Timer (im Designer oder so) definieren und den Interval auf die gewünschte Zeit stellen;

private void button1_Click(object sender, EventArgs e)
{
    timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
    button1.BackColor = Color.Green;
    timer1.Stop();
}

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting
asuto 
Fragesteller
 09.06.2021, 15:40

Gibt es aber nicht einfache Art etwas zu verzögern? Bei der Console war es ja nur eine Zeile Code und in Windows Forms ist es etwas mehr aufwendiger

0
Dultus, UserMod Light   09.06.2021, 15:47
@asuto
private async void button1_Click(object sender, EventArgs e)
{
    await Task.Delay(3000);
    button1.BackColor = Color.Green;
}

Das funktioniert auch.

Dadurch friert das Programm auch nicht ein. Nicht vergessen den async nach dem private zu setzen.

Ist nur eben tiefer im Thema als ein Timer.

1