Visual Basic .NET: Расписание

Можно ли как-то проверить в моей форме Visual Basic .NET выполнение функции через каждые X интервалов?


person Voldemort    schedule 05.01.2011    source источник


Ответы (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