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

2 Antworten

Vom Beitragsersteller 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


asuto 
Beitragsersteller
 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

Dultus  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.

asuto 
Beitragsersteller
 09.06.2021, 15:50
@Dultus

Dankeschön, genau sowas hab ich gesucht