【发布时间】:2010-09-29 09:03:53
【问题描述】:
我正在尝试在我的控制台应用程序中使用 Timer 控件。
Friend WithEvents XTIMER As System.Windows.Forms.Timer
我正在设置它的所有属性。我已将间隔设置为 15000 毫秒。但即使我将计时器控件的启用状态设置为 true,tick 事件也不会触发。谁能帮帮我?
【问题讨论】:
-
显示一些代码有助于我们诊断原因。
我正在尝试在我的控制台应用程序中使用 Timer 控件。
Friend WithEvents XTIMER As System.Windows.Forms.Timer
我正在设置它的所有属性。我已将间隔设置为 15000 毫秒。但即使我将计时器控件的启用状态设置为 true,tick 事件也不会触发。谁能帮帮我?
【问题讨论】:
Module Module1
Sub Main()
aTimer.AutoReset = True
aTimer.Interval = 2000 '2 seconds
AddHandler aTimer.Elapsed, AddressOf tick
aTimer.Start()
Console.ReadKey()
End Sub
Dim aTimer As New System.Timers.Timer
Private Sub tick(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs)
Console.WriteLine("tick")
End Sub
End Module
【讨论】:
Threading.Thread.Sleep(Threading.Timeout.Infinite) 来保持应用程序打开,因为它不会强制使用命令窗口。
Dim WithEvents aTimer As New System.Timers.Timer 定义计时器,并在Sub tick 定义的末尾添加Handles aTimer.Tick。然后你就不需要明确地AddHandler。
【讨论】:
改用 System.Timers.Timer。这是一个很好的comparison of the timer classes.
【讨论】:
导入System.Windows.Forms 引用并使用Timer 类。
【讨论】: