Bei der Erstellung meines tollen Matching-Spiels;) habe ich ein Problem gefunden, das völlig außer Reichweite ist.
Wenn der Spieler zwei Etiketten mit Symbolen auswählt, möchte ich alle anderen Etiketten für 4 Sekunden sperren.
Aber wenn ich das tue, ändert sich die Vordergrundfarbe aller Beschriftungen zu Grau und die Symbole sind sichtbar. Meine Frage ist - Gibt es eine Methode, um die ForeColor
einer deaktivierten Bezeichnung in Visual c # zu ändern?
Das Projekt ist eine WinForm-Anwendung.
Im Moment stelle ich die Farbe eines Etiketts wie folgt im Code ein:
%Vor%Wenn der Benutzer auf das Label klickt, ändere ich es zu:
%Vor% Weg einfacher als das Ändern der Art und Weise, wie Windows deaktivierte Steuerelemente zeichnet, legen Sie einfach ein Flag fest, wenn% ce_de% effektiv deaktiviert werden soll, und überprüfen dann den Wert dieses Flags in Ihrer Label
Event-Handler-Methode, bevor Sie die gewünschte Aktion ausführen. Wenn das Steuerelement "deaktiviert" wurde, führen Sie keine Aktion aus.
In etwa so:
%Vor% Beachten Sie auch, dass Sie immer Click
anstelle von SystemColors
verwenden sollten.
Wenn Sie bestimmte Farbwerte fest codieren, treten Konflikte häufig auf, wenn der Benutzer sein Standard-Windows-Design anpasst. Raymond Chen geht in einem Artikel in seinem Blog auf die Gefahren ein.
Tags und Links .net c# winforms disabled-control label