停止/删除在运行时从不同的子创建的计时器

时间:2014-01-30 08:41:33

标签: vb.net timer runtime

如果在运行时在子程序中创建了一个计时器,并且另一个子程序处理了它,那么你将如何停止该计时器,或者更好的是删除它?因为处理tick的子继续启动。 我的项目将在每次运行时创建数百个(如果不是数千个)个人计时器,因此这是非常基础的。

代码示例如下:

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

如何停止在第二个子设备中创建的计时器?

1 个答案:

答案 0 :(得分: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并停止计时器。