Timer 控件方案:响应 Timer 事件

经历了 Timer 控件的时间间隔后,Visual Basic 将生成 Timer 事件。通常,在响应此事件时将检查某些一般条件,例如系统时钟。

数字型时钟是涉及 Timer 控件的简单而有用的应用程序。一旦理解此应用程序的工作方式,就可增强它的性能,实现闹钟、跑表或其它定时设备的功能。

Digital Clock 应用程序包含一个定时器和一个有边框的标签。设计时,应用程序如图 7.50 所示。

图 7.7.47   Digital Clock 应用程序

定时器在运行时不可见。下表列出了 Digital Clock 应用程序中的属性设置值。

控件 属性 设置值
Label1 BorderStyle Fixed Single
Timer1 Interval 500(半秒)
Timer1 Enabled True

应用程序中的唯一过程是定时器的事件过程:

Private Sub Timer1_Timer ()
   If lblTime.Caption <> CStr(Time) Then
      lblTime.Caption = Time
   End If
End Sub

过程调用内在的 Time 函数来显示系统时间。此函数返回一个 Variant,以日期/时间数值 (VarType 7) 的形式包含当前时间。将它赋予某个字符串变量或属性时,比如赋予本例中的 Caption 属性时,Visual Basic 将用“控制面板”中指定的格式将其转换成一个字符串。若要用其它格式显示,可使用 Format 函数。

详细信息 请参阅“Format 属性”。

将定时器的 Interval 属性设置为 500,按照上述原则将 Interval 设置为要区分的最短时间(本例中为一秒钟)的一半。这会使 Timer 控件代码每半秒更新一次标签。这样做不仅浪费而且可能导致视觉颤动,因此代码在改变标题之前要检查当前时间是否与在标签上显示的时间不同。

无需另外编写语句就可自定义数字时钟的外观。例如,可为标签选择其它字体或改变窗体的 BorderStyle 属性。