1

是否有可能在我的 Visual Basic .NET 表单中检查每隔 X 间隔执行一个函数?

4

3 回答 3

4

查看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
于 2011-01-05T20:16:23.313 回答
0

您是在谈论以特定时间间隔运行功能吗?如果是这样,那么Timer控件将起作用。快速的Google 搜索将为您提供一些关于 Timer 的教程。

于 2011-01-05T20:15:52.640 回答
0

怎么样:使用定时器,然后用任何你想要的方法替换 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
于 2011-01-05T20:16:11.820 回答