vb.net入门——Timer 组件的使用


有时候,我们需要创建一个能以特定时间间隔运行直至一个循环完成、或在经过所设置的时间间隔后运行的过程,就是需要创建一个计时器。Timer 组件使得我们很容易就可以达到目的,我们称它为计时器控件。

在 Visual Studio .NET 和 .NET Framework 中有三种计时器控件:

1、基于 Windows 的标准计时器,位于“工具箱”的“Windows 窗体”选项卡上,以及仅可在编程时使用的线程计时器。基于 Windows 的计时器从 Visual Basic 的 1.0 版起就存在于该产品中并且基本上保持不变。该计时器已经为在 Windows 窗体应用程序中使用而进行了优化。我们这篇文章将要了解这种计时器。Windows 计时器位于 System.Windows.Forms 命名空间中。

2、基于服务器的计时器,位于“工具箱”的“组件”选项卡上;基于服务器的计时器是传统的计时器为了在服务器环境上运行而优化后的更新版本。服务器计时器位于 System.Timers 命名空间中。

3、线程计时器是一种简单的、轻量级计时器,使用回调方法而不是事件,并由线程池线程提供。线程计时器位于 System.Threading 命名空间中。

一、为窗体设计计时器过程

1、从工具箱的“Windows 窗体”选项卡中选择“Timer”(计时器)Timer 组件图标如下图一所示:

然后把它拖到窗体中,因为Timer组件是无界面组件,所以显示在组件栏中,如下图二所示:

2、为计时器设置 Interval 属性(以毫秒为单位)。该属性决定在再次运行该过程之前所经过的时间。注意   计时器事件发生越频繁,用于响应该事件的处理器时间就越长。这会降低整体性能。请勿将间隔设置得比所需值小。

3、在 Tick 事件二、示例

1、把一个Timer组件、一个Label控件、一个Button控件拖放到窗体上。

2、在Form1类的内部任何过程之前添加计数变量:

Private counter As Integer

3、添加Timer组件初始化过程

Private Sub InitializeTimer()

counter = 0

Timer1.Interval = 600

Timer1.Enabled = True

End Sub

4、添加Timer组件的Tick事件,当计数器大于等于10,计时器停止

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If counter >= 10 Then

'当计数器大于等于10,计时器停止

Timer1.Enabled = False

counter = 0

Button1.Text = "开始"

Else

counter = counter + 1

Label1.Text = "Procedures Run: " & counter.ToString

End If

End Sub

5、Button按钮的Text属性设置为“开始”,为Button控件的Click事件添加运行Timer的事件,代码如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Button1.Text = "停止" Then

Button1.Text = "开始"

Timer1.Enabled = False

Else

Button1.Text = "停止"

Timer1.Enabled = True

End If

End Sub

现在运行,单击“开始”按钮,Label1显示当前的运行状态,计数器=10的时候计时器停止,效果如下图三所示:

处理程序内编写合适的代码。在该事件中编写的代码将以 Interval 属性中所指定的间隔运行。

4、将 Enabled 属性设置为 true 以启动计时器。Tick 事件将开始发生,以设置的间隔运行过程。

5、合适的时候,将 Enabled 属性设置为 false,以停止再次运行过程。将间隔设置为 0,并不会导致计时器停止。

 二、示例

1、把一个Timer组件、一个Label控件、一个Button控件拖放到窗体上。

2、在Form1类的内部任何过程之前添加计数变量:

Private counter As Integer

3、添加Timer组件初始化过程

Private Sub InitializeTimer()

counter = 0

Timer1.Interval = 600

Timer1.Enabled = True

End Sub

4、添加Timer组件的Tick事件,当计数器大于等于10,计时器停止

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If counter >= 10 Then

'当计数器大于等于10,计时器停止

Timer1.Enabled = False

counter = 0

Button1.Text = "开始"

Else

counter = counter + 1

Label1.Text = "Procedures Run: " & counter.ToString

End If

End Sub

5、Button按钮的Text属性设置为“开始”,为Button控件的Click事件添加运行Timer的事件,代码如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Button1.Text = "停止" Then

Button1.Text = "开始"

Timer1.Enabled = False

Else

Button1.Text = "停止"

Timer1.Enabled = True

End If

End Sub

现在运行,单击“开始”按钮,Label1显示当前的运行状态,计数器=10的时候计时器停止,效果如下图三所示:

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3