2014-01-30 54 views
1

如果在運行時在一個子程序中創建了一個定時器,並且一個不同的子程序處理它的打勾,那麼如何停止該定時器的打勾或更好地刪除它?因爲處理滴答的子繼續被啓動。 我的項目將創建數百個,如果不是每個運行數千個計時器,所以這是非常基礎的。停止/刪除在運行時創建的定時器不同的子程序

的代碼示例是這樣的:

Private Sub createTimer() 
Dim testTimer As New Windows.Forms.Timer 
AddHandler testTimer.Tick, AddressOf newSub 
testTimer.Interval = 5000 
testTimer.Start() 

End Sub 

Private Sub newSub() 

'do work 

'repeatedly, because the timer keeps ticking 
'and I have no idea how to stop it 

End Sub 

我如何停止從第二次在第一子創建的計時器?

回答

0

如果您要在CreateTimer子外部聲明計時器,那麼您可以在其他地方停止該計時器;即:

Private myTimer As Windows.Forms.Timer 

Public Sub InitialiseTimer 

    myTimer = New Timer With{.Interval = 5000} 
    myTimer.Start 

End Sub 
Public Sub stopTimer 
    myTimer.Stop 
End Sub 

現在你可以調用initialiseTimer並停止計時器,當你想從任何你想要的地方。

相關問題