Прежде всего, я просто хотел сказать спасибо за помощь, оказанную в последние пару недель.Я многому научился, и моя программа каждый день экономит мне часы и часы работы.
Я хочу немного его расширить и добавить второй таймер, который работает параллельно первому таймеру, ноПервый таймер не влияет ни на какую форму.
Я пытался вложить второй цикл в первый цикл, но второй цикл занимает 3 секунды (я использую thread.sleep (3000))Таким образом, я обнаружил, что первый цикл заморозился до окончания второго цикла.Я читал о многопоточности системы (System.Timers.Timer), и мне кажется, что это тот путь, по которому я хочу идти.
Я написал это быстро в качестве примера:
Это предполагает, что я добавил элемент управления таймера Windows как timer1
Option Strict On
Imports System
Imports System.Timers
Public Class form1
Private Shared timer2 As System.Timers.Timer
timer2 = New System.Timers.Timer
AddHandler timer2.Elapsed, AddressOf OnTimedEvent
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
timer1.Interval = 1000
timer1.enabled = true
timer2.Interval = 5000
timer2.Enabled = True
End sub
Public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Timer1.Tick
'code for timer1 here
End Sub
Private Shared Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
'code for timer2 here
End Sub
End Class
Имеет ли это смысл? ... иопять же, я не могу использовать timer1 для запуска второго раунда событий из-за thread.sleep
.Я надеялся, что приведенный выше код переводит второй поток в спящий режим, в то время как windows.form.timer
продолжает тикать каждые 1000 мс