我正在编写一个vb.net .net 4.0应用程序,并且遇到了让计时器过去的问题。有人可以帮我告诉我我做错了吗?
我已经对主应用程序进行了大量的故障排除,以至于我决定尝试让它在一个新项目中运行,但似乎无法让它工作。
谢谢!
Module Module1
Public Timer As New System.Timers.Timer
Sub Main()
AddHandler Timer.Elapsed, AddressOf Timer_Tick
Timer.AutoReset = True
Timer.Interval = 1000
Timer.Start()
Console.WriteLine("Timer Started")
End Sub
Sub Timer_Tick(source As Object, e As EventArgs)
Console.WriteLine("TimerTick")
End Sub
End Module
答案 0 :(得分:0)
您需要确保Main()
一直在运行,否则您的流程会立即终止。
您可以使用Console.ReadLine()
(如果您有控制台)或Thread.Sleep(Timeout.Infinite)
。
答案 1 :(得分:0)
我不知道您的代码无法正常工作的原因。但是您可以使用功能循环来完成相同的工作。
Module Module1
Sub Main()
Console.WriteLine("Timer Started")
Timer_start()
End Sub
Function Timer_start()
Timer_Tick()
Threading.Thread.Sleep(1000)
End Function
Function Timer_Tick()
Console.WriteLine("TimerTick")
Timer_start()
End Function
End Module
答案 2 :(得分:0)
Sub Main
Timer.Interval = 60000 ' one minute
Timer.Enabled
' do stuff
Do until (Some condition, like a stop flag to stop looping and end program)
System.Threading.Thread.Sleep(10000)
Loop
End
Timer_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) Handles Timer.Elapsed
Timer.enabled = False
' do stuff
Timer.Enabled = True
End Sub