finns det nått sätt att pausa en timer för att sedan sätta igång den igen, som koden nedan beskriver?
Private tmr As Timers.Timer
Protected Overrides Sub OnStart(ByVal args() As String)
tmr = New Timers.Timer()
tmr.Interval = 30000
AddHandler tmr.Elapsed, AddressOf OnTimedEvent
tmr.Enabled = True
End Sub
Public Shared Sub OnTimedEvent(ByVal source As Object, ByVal e As System.Timers.ElapsedEventArgs)
tmr.Stop
'gör massa grejjer
if klar med grejjorna then
tmr.Start
end if
End Sub
Protected Overrides Sub OnStop()
tmr.Enabled = False
End Sub
Marcus EMedlem sedan maj 20021 466 inlägg Enabled finns. För att inte Timern ska börja om får du minska intervallet med den tid som passerat sen den sist körde OnTimedEvent.
vet inte om det är rätt eller fel men jag löste det så här:
Private tmr As Timers.Timer
Private Shared Running As Boolean = False
Protected Overrides Sub OnStart(ByVal args() As String)
tmr = New Timers.Timer()
tmr.Interval = 30000
AddHandler tmr.Elapsed, AddressOf OnTimedEvent
tmr.Enabled = True
End Sub
Public Shared Sub OnTimedEvent(ByVal source As Object, ByVal e As System.Timers.ElapsedEventArgs)
If Running Then Exit Sub
Running = True
'gör massa grejjer
Running = False
End Sub
Protected Overrides Sub OnStop()
tmr.Enabled = False
End Sub