简体   繁体   中英

Visual Basic .NET: Schedule

是否有可能以我的Visual Basic .NET形式检查每X个间隔执行一个函数?

Check out the Timer class.

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

Are you talking about running a function at a certain time interval? If so, then the Timer control will work. A quick Google search will give you a number of tutorials on Timer.

How about this: use a Timer, and just substitute whatever method you want for the MessageBox alert.

The following example implements a simple interval timer, which sets off an alarm every five seconds. When the alarm occurs, a MessageBox displays a count of the number of times the alarm has started and prompts the user as to whether the timer should continue to run.

You can find more details here .

 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM