C # Fortschrittsbalkenfarbe ändern

8

Ich versuche die Farbe meines Fortschrittsbalkens zu ändern, ich benutze ihn als Passwortstärkenprüfer. Wenn das gewünschte Kennwort beispielsweise schwach ist, wird der Fortschrittsbalken gelb, wenn mittel, dann grün. Stark, orange. Sehr stark, rot. Es ist einfach so. Hier ist mein Code für den Passwortstärkenprüfer:

%Vor%

Das pgbPass.ForeColor = Color.ColorHere scheint nicht zu funktionieren. Irgendeine Hilfe? Danke.

    
PeeHaa 07.11.2011, 05:21
quelle

3 Antworten

20

Die Fortschrittsbalkenfarbe kann in c # nicht geändert werden, es sei denn, die visuellen Stile sind deaktiviert. Obwohl die IDE die Farbe ändern kann, werden Sie keine Farbänderung bemerken, da die Fortschrittsleiste den visuellen Stil des aktuellen Betriebssystems annimmt. Sie können den visuellen Stil für Ihre gesamte Anwendung deaktivieren. Gehen Sie dazu in die Startklasse des Programms und entfernen Sie diese Zeile aus dem Code

%Vor%

oder verwenden Sie ein benutzerdefiniertes Fortschrittsbalken Steuerelement wie folgt Ссылка

    
techno 07.11.2011, 05:34
quelle
4

Suchen und entfernen Sie Application.EnableVisualStyles(); von Ihrer Anwendung .

Sie finden viele Beispiele aus hier

    
Damith 07.11.2011 05:32
quelle
2

Rot deutet auf Fehler oder Störungen hin - bitte überdenken Sie die Verwendung von Rot, um "starkes Passwort" anzuzeigen.

Auch weil Sie die Farbe viele Male basierend auf möglicherweise vielen Übereinstimmungen aktualisieren, werden Ihre Farben nicht so konsistent sein, wie Sie möchten.

Geben Sie stattdessen für jede Bedingung eine Bewertung und wählen Sie dann Ihre Farbe basierend auf der Gesamtpunktzahl:

%Vor%

Beachten Sie die Verwendung eines else-if -Konstrukts, das manchmal einfacher ist als das von der Sprache bereitgestellte < a href="http://en.wikipedia.org/wiki/Case_statement"> switch oder case Anweisung. (Insbesondere das C / C ++ - Programm ist anfällig für fehlerhafte Software.)

    
sarnold 07.11.2011 05:34
quelle

Tags und Links