Wie implementieren Sie ein blinkendes label auf einem Formular
Ich habe ein Formular, das zeigt die Warteschlange der Nachrichten und die Anzahl dieser Nachrichten kann geändert werden. Ich wirklich wollen, zu blinken label (queue-Länge), wenn die Anzahl der Nachrichten erhöht wurden, um zu verbessern form der Benutzerfreundlichkeit.
Sollte ich implementieren, benutzerdefiniertes Steuerelement, und verwenden Sie zusätzliche thread oder timer ändern Farbe der Beschriftung? Hat jemand so implementiert Funktionalität? Was ist die beste Lösung (die weniger Ressourcen und weniger Leistungsabfall) zu implementieren, so dass Verhalten?
LÖSUNG:
Formular-Komponente mit timer, können beschränken Sie die Anzahl der Animationen pro Sekunde und implementieren fade-out-Effekt zur externen Steuerung von hintergrund-Farbe.
InformationsquelleAutor der Frage garik | 2011-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie benutzerdefinierte Komponenten und Ereignisse für die zu blinken beginnen. Ich denke, das ist eine gute Lösung. Blinkt Sie implementieren können, mit timer.
InformationsquelleAutor der Antwort Sergey Vedernikov
Den folgenden blinkt mit
async
undawait
InformationsquelleAutor der Antwort MusuNaji
Hier ist eine ziemlich einfache Umsetzung, die Arbeit in Ihrem Formular. Man könnte auch erstellen Sie ein benutzerdefiniertes Steuerelement, mit dem gleichen code und werfen den
Timer.Start()
zu einer Methode für das Steuerelement.InformationsquelleAutor der Antwort user501211
Ich weiß, das ist ein wirklich Alter post, aber wer auf der Suche nach etwas ein wenig vielseitiger als der booleschen Lösungen gepostet bekommen können einige nutzen aus dem folgenden:
Die können Sie nennen wie:
InformationsquelleAutor der Antwort Jim Simson
Erstellen Sie Ihre eigenen
UserControl
für diese, eine, erbt vonLabel
anstelle vonControl
direkt. Hinzufügen einesStartBlinking
Methode, bei welcher man einTimer
Objekt, dessen tick-Ereignis verändert die Art der Beschriftung (änderung der BackgroundColor und ForegroundColor Eigenschaften jeder Zeit zu erstellen, die blink-Effekt).Könnten Sie auch hinzufügen, eine
StopBlinking
Methode, um Sie auszuschalten, oder Sie können IhreTimer
beendet sich selbst nach 5 Sekunden vielleicht.InformationsquelleAutor der Antwort MusiGenesis
Können Sie eine animierte
.gif
statt (vielleicht als hintergrund von der Anzahl)? es würde es so Aussehen, als old-school-web-Seiten, aber es könnte funktionieren.InformationsquelleAutor der Antwort vlad
Können Sie
Timer
Klasse hier.Hier, was ich umgesetzt haben.
Label Farbe blinkend auf Button_click-Ereignis.
InformationsquelleAutor der Antwort Parag555