Barre lampeggianti

mercoledì 25 aprile 2007 - 19.01

pintus Profilo | Newbie

Dovrei mettere in un form creato con visual studio 2005 tre barre che all'arrivo di un impulso o qualcosa del genere cambiano colore lampeggiando ritornando poi al colore di base all'arrivo di un altro impulso.
Vorrei mettere anche dei piccoli led che indicano verde se il programma è connesso o rosso altrimemti. Ho letto delle api flashwindows ... Qualcuno di voi può indicarmi la strada giusta Grazie

alextyx Profilo | Expert

Io userei un timer!
Uno solo per tutte le barre. Eventualmente dividendo (tipo prescaler) il numero dei ticks di base (es. uno ogni 100ms.) in maniera da poter avere un lampeggio, ad esempio, per la label1 ogni 3 ticks, per la label2 ogni 5 ticks, e così via. Ovviamente solo se hai bisogno di diffenziarli come intervallo, altrimenti è ancora più semplice.

pintus Profilo | Newbie

Scusa l'ignoranza ma come dico alla label di cambiare colore e lampeggiare?
Il mio problema è :
ho una label con colore blu,se arriva da un programma un impulso o qualcosa del genere la label cambia il colore in rosso e lampeggia , nel momento in cui arriva l'impulso inverso ritorna al colore blu e smette di lampeggiare.
Mi puoi dire più in dettaglio grazie davvero

alextyx Profilo | Expert

Io intendevo qualcosa del genere:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Static Tempo As Long = Now.Ticks

If Now.Ticks >= Tempo + 5000000 Then
Tempo = Now.Ticks
'Fa blinkare lo item del prossimo TLG che verrà inviato, ad intervalli di 500ms
Dim C1 As Color
Dim C2 As Color
If Not IsNothing(Me.VarItemRelativoAlProxPI) AndAlso Me.FlagSuperatoUltimoPI = False Then
C1 = Me.VarItemRelativoAlProxPI.BackColor
C2 = Me.VarItemRelativoAlProxPI.ForeColor
Me.VarItemRelativoAlProxPI.BackColor = C2
Me.VarItemRelativoAlProxPI.ForeColor = C1
End If
End If


End Sub

In questo caso eseguo l'inversione tra il colore del testo e quello dello sfondo ad intervalli di circa 500ms, su una riga di un listview.
Per far lampeggiare la label, presumo tu intenda il renderla alternativamente visibile, o invisibile, quindi, al verificarsi di una certa condizione, setterai a True una certa variabile booleana che nell'evento timer provocherà il cambio del colore di sfondo (Me.Label1.backcolor=color.red) della label e poi farà eseguire il codice all'interno dell'IF così che ogni 'n' millisecondi (nel mio caso 500) la label venga resa visibile oppure no, alternativamente. Quando la variabile booleana, dirà che l'impulso, o qualunque cosa sia, non c'è più, sempre all'interno del codice del timer, rimetterai la label visibile ed il suo colore a 'Blue'.
Spero ti sia sufficente, altrimenti posso buttare giù un po' di codice, ma ti toglierei tutto il divertimento!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5