Ho un pulsante che volevo "lampeggiare" brevemente per attirare l'attenzione dell'utente. Ho immaginato che il modo più semplice sarebbe quello di cambiare la proprietà BackColor
del pulsante su un altro colore, e quindi riaccenderlo. Così faccio qualcosa di simile:Quando cambio un BackColor di .NET Button al suo valore originale, non sembra più lo stesso
this.oldColor = myButton.BackColor;
myButton.BackColor = Color.Blue;
e poi, dopo un circa 1/2 di un secondo:
myButton.BackColor = this.oldColor;
Ma il colore di sfondo del pulsante finiscono per essere distintamente più scuro rispetto al resto dei pulsanti sulla forma!
In un primo momento, ho pensato che fosse perché c'è qualcosa di speciale nel fatto che il colore originale del pulsante è un colore con nome (in questo caso, "Controllo") ma non lo è.
Quel che è peggio, quando guardo myButton.BackColor
nel debugger, ottengo
{Name=Control, ARGB=(255, 236, 233, 216)}
Che è esattamente corretto! Ma quando prendo uno screenshot e controllo il colore, non è lo stesso del resto dei pulsanti!
C'è qualche tipo di mascheramento in corso? O forse una sorta di dithering?
@scraimer: +1. Grazie per aver documentato questo problema. Ho avuto un problema simile e ho trovato il tuo post tramite Google. –
+1. Mai sentito parlare di questa proprietà prima. Molte grazie! – tamberg