Ich versuche, die Farbe eines Textfelds grün zu ändern, und dann zurück zu weiß als eine Methode der Bestätigung. Hier ist der Code, den ich bisher habe:Fading Farbe in einer Schleife mit C#
private void btnCommit_Click(object sender, EventArgs e)
{
//do stuff
Color c = new Color();
for (int i = 0; i <= 255; i++)
{
c = Color.FromArgb(i, 255, i);
textBox1.BackColor = c;
System.Threading.Thread.Sleep(10);
}
}
Es funktioniert nicht. Es scheint nur auf die 2,5 Sekunden zu warten, bevor ich etwas anderes machen kann, aber die Farbe bleibt die ganze Zeit weiß.
btnClick wird auf dem UI-Thread ausgeführt und daher wird ein Einfrieren angezeigt. Sie können stattdessen WPF-Animation oder async verwenden, wie in der folgenden Abbildung gezeigt, oder diesen Code in einer Hintergrundaufgabe ausführen, die die BackColor mithilfe von Dispatcher.BeginInvoke aktualisiert –
In welchem Kontext wird dies verwendet? Haben Sie darüber nachgedacht, CSS oder LESS für diese Aufgabe zu verwenden? –