Создание таймера в коде
Я пытаюсь иметь таймер в кодовом коде, поэтому, когда я собираю программу и запускаю ее, таймер запускается, и некоторый код запускается каждый интервал.
Я старался:
Imports System.IO.File
Imports System.ComponentModel
Imports Microsoft.Win32
Imports System.CodeDom.Compiler
Imports System.Diagnostics
Imports System.Object
Imports System.Threading.Thread
Imports System.Environment
Imports Microsoft.VisualBasic
Imports System.Timers
Module Module1
Dim tmr as new Timer
tmr.Interval = 1000
tmr.Enabled = True
AddHandler tmr.Tick, AddressOf MyTimerTick
Private Sub MyTimerTick (Byval sender as Object, Byval e as EventArgs)
'my code
End Sub
Sub Main()
MyTimerTick.start()
End Sub
End Module
я также попробовал это из https://msdn.microsoft.com/en-us/library/system.timers.timer.enabled(v=vs.110).aspx
Отредактировано:
Imports System.IO.File
Imports System.ComponentModel
Imports Microsoft.Win32
Imports System.CodeDom.Compiler
Imports System.Diagnostics
Imports System.Object
Imports System.Threading.Thread
Imports System.Environment
Imports Microsoft.VisualBasic
Imports System.Timers
Module Module1
Private aTimer As Timer
Private Sub OnTimedEvent(source As Object, e As System.Timers.ElapsedEventArgs)
Msgbox("test")
End Sub
Public Sub Main()
AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
aTimer = New System.Timers.Timer()
aTimer.Interval = 1000
aTimer.AutoReset = False
aTimer.Start()
End sub
End Module
1 ответ
Вы забыли вызвать Timer.Start (). После того, как вы позвоните, свойство таймера будет установлено в значение true, и с него начнутся события.
Кроме того, я вижу, что у вас есть OnTimeEvent в другой процедуре. Это должно быть на уровне модуля, а не вложено в другую процедуру.