教學範例《13》…計時器程式

表單設計與程式執行:
表單設計
執行畫面

控制項屬性資料:
Form1   : 調整表單視窗的大小,使Width和Height合乎適當大小。
Text1   : Text="0"
Text2   : Text="100"
Text3   : Text=""
Command1: Caption="開始"
Command2: Caption="停止"
Command3: Caption="結束"
Label1  : Caption="正數"
Label2  : Caption="倒數"
Label3  : Caption="現在時間"
Timmer1 : Interval = 0
程式碼列表:
Public I, J, J0 As Single

Private Sub Command1_Click()
Timer1.Interval = 10
End Sub

Private Sub Command2_Click()
Timer1.Interval = 0
End Sub

Private Sub Command3_Click()
End
End Sub

Private Sub Form_Load()
I = Val(Text1.Text)
J = Val(Text2.Text)
J0 = J
End Sub

Private Sub Timer1_Timer()
Text3.Text = Time

I = I + 1
If I > J0 Then I = 0

Text1.Text = I

J = Val(Text2.Text)

If J = 0 Then CRAZY

If J < 0 Then J = J0

Text2.Text = J - 1
End Sub

Sub CRAZY()
 Form1.WindowState = 2
  For K = 1 To 100
  Form1.BackColor = RGB(256 * Rnd, 256 * Rnd, 256 * Rnd)
  Next K
Form1.WindowState = 0
End Sub
程式解說:
學習重點:
 ˙學會使用計時器Timmer。
 ˙學會控制計時器Interval屬性值。
 ˙學會應用計時器來觸發設定的副程式。
程式說明:
 (1)Command1按鈕(開始),將Timmer1的Interval值由0改為10,
     於是每10/1000秒就會觸發Timer1_Timer()事件一次。
 (2)在Timer1_Timer()副程式中,Text3.text=Time會顯示出現在時間。
  (3)Text1.text為正數計數器,J0來自Text2.text。
  (4)Text2.text為倒數計數器,J為起始值。
  (5)If J=0 Then Crazy;當倒數為零時,進入副程式Crazy()。
  (6)Command2按鈕,將Interval設為0,於是計時器停止。
  (7)Command3按鈕,僅有一指令"End"為程式結束。