Ich habe eine BlinkingLabel
Klasse erstellt, abgeleitet von Forms.Label
, die eine Forms.Timer
hat, die mir ermöglicht, den blinkenden Effekt zu aktivieren und zu deaktivieren.Sync blinkende Etiketten in C#
Ich habe 4 Etiketten von BlinkingLabel
Typ erstellt, mein Problem ist, dass, wenn alle 4 Etiketten wo zu verschiedenen Zeiten blinken, der blinkende 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. 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?
public partial class UserControl1 : UserControl
{
Timer blinkTimer;
Color blinkingColor = Color.Red;
int interval = 300;
bool flag1 = false;
bool flag2 = false;
public UserControl1()
{
InitializeComponent(); // Blinking abel default values
this.blinkTimer = new Timer();
this.blinkTimer.Interval = interval; ;
this.blinkTimer.Tick += new System.EventHandler(timer_Tick);
flag1 = true;
this.blinkTimer.Start();
}
private void blinkLabels(Label label)
{
if (label.ForeColor == Color.White)
label.ForeColor = blinkingColor;
else
label.ForeColor = Color.White;
}
void timer_Tick(object sender, System.EventArgs e)
{
if(flag1 == true)
blinkLabels(label1);
if(flag2 == true)
blinkLabels(label2);
}
private void button1_Click(object sender, EventArgs e)
{
flag2 = true;
this.blinkTimer.Start();
}
Verwenden Sie einen Timer für alle Etiketten. Sie können eine Überschreibung in Ihren Beschriftungen verwenden, um das Blinken einer Klasse zu steuern, die alle Beschriftungen anzeigen kann. Verwenden Sie dann einen Timer in dieser Klasse, damit alle blinken. – deathismyfriend
..Sie können immer noch eine Flagge auf jedem Etikett setzen, um es teilnehmen zu lassen, ist das Fest oder nicht .. – TaW
@deathismyfriend bitte sehen Sie sich meinen Testcode an. Danke. – newbieLinuxCpp