Evento tick del timer

mercoledì 09 maggio 2007 - 21.32

trinity Profilo | Guru

durante l'evento tick del timer in vb come posso far lampeggiare una scritta in una label?

ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

Brainkiller Profilo | Guru

>durante l'evento tick del timer in vb come posso far lampeggiare
>una scritta in una label?

Crei un Timer Ad Hoc solo per far lampeggiare la scritta.
Lo metti con un Interval che decidi tu in base alla velocità del lampeggiamento.
Quando la devi far lampeggiare abiliti il Timer ad hoc e lo spegni dopo 4 o 5 volte che ha lampeggiato, lo decidi tu.

Per farla lampeggiare è sufficiente cambiare il forecolor, per esempio su sfondo grigio, e la scritta nera fai diventare la scritta grigia come lo sfondo e quindi lampeggerà.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

trinity Profilo | Guru

pertanto devo creare 2 timer ossia uno che parte subito all'avvio del programma calcola 20 secondi si blocca e fa partire il secondo timer che ogni secondo fa lampeggiare la label.

Per in altre parole il mio programma stabilisce una connessione in remoto su un db attraverso internet se dopo 20 secondi dall'avvio della connessione il processo non è ancora terminato deve apparire la label che lampeggia e che avverte l'utente che i tempi saranno + lunghi del normale.

Ciao

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alextyx Profilo | Expert

In realtà basta cambiare il periodo del timer, o comunque far lavorare un po' di codice all'interno. Io uso proprio la tecnica dell'inversione dei colori per far lampeggiare un item di un listview. Siccome ho un timer 'di sistema' con periodo variabile, ma comunque molto inferiore a quello del lampeggio, utilizzo un confronto con altri riferimenti temporali per decidere se è passato il tempo che mi serve (500 ms nell'esempio):

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

trinity Profilo | Guru

scusami e non è molto + semplice attivare due timer?

in questo modo:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Timer2.Enabled = True
Me.Timer1.Stop()
End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Me.Label23.Visible = Not (Label23.Visible)
Me.Label23.Text = "I tempi di completamento potrebbero superare il minuto"
End Sub
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5