Ho creato una classe BlinkingLabel
, deriva da Forms.Label
, che ha un Forms.Timer
che mi consente di abilitare e disabilitare l'effetto lampeggiante.Etichette lampeggianti di sincronizzazione in C#
Ho creato 4 etichette del tipo BlinkingLabel
, il mio problema è che se tutte e 4 le etichette lampeggiano in momenti diversi, l'effetto lampeggiante non viene sincronizzato.
Come posso regolare il mio design in modo che anche se le etichette lampeggiano in momenti diversi, il lampeggio verrà sincronizzato?
******* Modificato ****** Ho aggiunto il seguente codice, ma ancora non riesco a far lampeggiare le etichette 1 e 2. Quello che sto cercando di fare è testare quanto segue: far lampeggiare label1 quindi faccio clic sul pulsante per far lampeggiare l'etichetta 2 e non vengono sincronizzati.
Qualche idea di cosa sto facendo male?
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();
}
Utilizzare un timer per tutte le etichette. È possibile avere un override nelle etichette per consentire di controllare il lampeggiamento da una classe che può visualizzare/visualizzare tutte le etichette. Quindi usa un timer in quella classe per far lampeggiare tutti. – deathismyfriend
.. puoi ancora impostare una bandiera su ogni etichetta per renderla partecipe è la festa o no .. – TaW
@deathismyfriend per favore dai un'occhiata al mio codice di prova. grazie. – newbieLinuxCpp