Ich habe eine Schaltfläche, die ich kurz "blinken" wollte, um die Aufmerksamkeit des Benutzers zu erhalten. Ich dachte, der einfachste Weg wäre, die Eigenschaft BackColor
des Buttons in eine andere Farbe zu ändern und sie dann wieder zurück zu schalten. Also ich etwas wie folgt aus:Wenn ich die BackColor einer .NET-Schaltfläche wieder auf ihren ursprünglichen Wert zurücksetze, sieht es nicht mehr gleich
this.oldColor = myButton.BackColor;
myButton.BackColor = Color.Blue;
und dann nach einer etwa 1/2 Sekunde:
myButton.BackColor = this.oldColor;
Aber die Hintergrundfarbe der Schaltfläche deutlich am Ende wird dunkler als der Rest der Tasten auf dem Formular!
Zuerst dachte ich, es liegt daran, dass die Originalfarbe der Taste etwas Besonderes ist, eine benannte Farbe (in diesem Fall "Control"), aber das ist es nicht.
Was noch schlimmer ist, wenn ich bei myButton.BackColor
im Debugger sehen, bekomme ich
{Name=Control, ARGB=(255, 236, 233, 216)}
Welche genau richtig! Aber wenn ich einen Screenshot mache und die Farbe überprüfe, ist es nicht das selbe wie die restlichen Knöpfe!
Gibt es eine Art Maskierung? Oder vielleicht eine Art Dithering?
@ Scraimer: +1. Vielen Dank für die Dokumentation dieses Problems. Ich hatte ein ähnliches Problem und habe deinen Beitrag über Google gefunden. –
+1. Habe noch nie von dieser Immobilie gehört. Danke vielmals! – tamberg