Is it someho开发者_StackOverflow社区w possible to check, in my Visual Basic .NET form, to execute a function every X intervals?
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
精彩评论