Можно ли как-то проверить в моей форме Visual Basic .NET выполнение функции через каждые X интервалов?
Visual Basic .NET: Расписание
Ответы (3)
Ознакомьтесь с классом Timer.
Public Class Form1
Private T As Timer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
T = New Timer()
AddHandler T.Tick, AddressOf TimerTicker
T.Interval = (1000 * 3) 'Every 3 seonds
T.Start()
End Sub
Private Sub TimerTicker(ByVal sender As Object, ByVal ev As EventArgs)
Trace.WriteLine("here")
End Sub
End Class
person
Chris Haas
schedule
05.01.2011
Вы говорите о запуске функции через определенный интервал времени? Если да, то элемент управления Таймер будет работать. Быстрый поиск в Google даст вам несколько руководств по таймеру.
person
JohnK813
schedule
05.01.2011
Как насчет этого: используйте таймер и просто замените любой метод для оповещения MessageBox.
В следующем примере реализован простой интервальный таймер, который срабатывает каждые пять секунд. Когда возникает сигнал тревоги, MessageBox отображает количество запусков сигнала тревоги и подсказывает пользователю, следует ли продолжать работу таймера.
Подробнее см. здесь.
Public Class Class1
> Private Shared WithEvents myTimer As New System.Windows.Forms.Timer()
> Private Shared alarmCounter As Integer = 1
> Private Shared exitFlag As Boolean = False
>
> ' This is the method to run when the timer is raised.
> Private Shared Sub TimerEventProcessor(myObject As
> Object, _
> ByVal myEventArgs As EventArgs) _
> Handles myTimer.Tick
> myTimer.Stop()
>
> ' Displays a message box asking whether to continue running the
> timer.
> If MessageBox.Show("Continue running?", "Count is: " &
> alarmCounter, _
> MessageBoxButtons.YesNo) =
> DialogResult.Yes Then
> ' Restarts the timer and increments the counter.
> alarmCounter += 1
> myTimer.Enabled = True
> Else
> ' Stops the timer.
> exitFlag = True
> End If
> End Sub
>
> Public Shared Sub Main()
> ' Adds the event and the event handler for the method that will
> ' process the timer event to the timer.
>
> ' Sets the timer interval to 5 seconds.
> myTimer.Interval = 5000
> myTimer.Start()
>
> ' Runs the timer, and raises the event.
> While exitFlag = False
> ' Processes all the events in the queue.
> Application.DoEvents()
> End While
>
> End Sub
>
> End Class
person
DOK
schedule
05.01.2011