Sync blinkt Etiketten in C #

8

Ich habe eine Klasse BlinkingLabel erstellt, abgeleitet von Forms.Label , die eine Forms.Timer hat, mit der ich den Blink-Effekt aktivieren und deaktivieren kann.

Ich habe 4 Labels von BlinkingLabel type erstellt, mein Problem ist, dass wenn alle 4 Labels zu verschiedenen Zeiten blinken, der Blink-Effekt nicht synchronisiert wird.

Wie kann ich mein Design so einstellen, dass selbst wenn die Labels zu verschiedenen Zeiten blinken, das Blinken synchronisiert wird?

******* Bearbeitet ****** Ich habe den folgenden Code hinzugefügt, aber immer noch kann ich Label 1 und 2 nicht gleichzeitig blinken lassen. Was ich versuche, ist Folgendes zu testen: make label1 blinkt, dann klicke ich auf den Button, um Label 2 zu blinken und sie werden nicht synchronisiert.

Irgendeine Idee, was ich falsch mache?

%Vor%     
newbieLinuxCpp 07.05.2015, 08:10
quelle

2 Antworten

12

Sie müssen nur einen Timer verwenden und darauf achten, dass alle die Labels blinken. Dies geschieht am elegantesten durch das Erstellen einer Komponente, die die IExtenderProvider-Schnittstelle implementiert. Ähnlich wie ErrorProvider funktioniert, zeige ich Ihnen eine, die jedem Label-Steuerelement in einem Formular eine Blink-Eigenschaft hinzufügt.

Fügen Sie Ihrem Projekt eine neue Klasse hinzu und fügen Sie den unten gezeigten Code ein. Kompilieren. Legen Sie die neue Komponente oben in der Toolbox auf Ihrem Formular ab. Setzen Sie die Blink-Eigenschaft auf ein beliebiges Label, das zu True wechseln muss.

%Vor%     
Hans Passant 16.06.2015, 11:06
quelle
4

sie ändern die Farbe gleichzeitig, aber sie werden nicht synchronisiert. um sie zu synchronisieren und die gleiche Farbe zu verwenden. Sie müssen den Code so ändern, dass die Blinkfarbe vom Timer oder vom Steuerelement und nicht von den Labels beibehalten wird versuche so etwas

%Vor%     
Thorarins 16.06.2015 08:07
quelle

Tags und Links