Timer的操作方式

Timer(計時器)是VB中一個用以計時的控制項,讓編程人員可以隨意控制計時器開始、結束,以及於指定時間內要執行的程序。

Timer主要由以下項目控制:

  • Start():用以啟動Timer的函數;
  • Stop():用以停止Timer的函數;
  • Interval:訂定Timer每次執行Tick(...)前所等待的時間。計算單位為千分之一秒;若要Timer每秒執行Tick(...)一次,Interval需改為1000。

示範實例

右圖為一個以VB編製的簡單計時器,其視窗內的黑色數字部份為一個 Label,名為 Label1;右方兩個按鈕用以開始及中止計時,名稱分別為 Button1Button2

  • 下載程式碼:TimerTest.zip

  • 程式由一個名為 t 的全域變量記錄時間。當計時開始,Timer1_Tick(...)每隔1秒便會把變量 t1,並透過 Label1t 的數值顯示出來。

    製作過程:1 - 加入 Timer

  • 直接從左方工具中,把 Timer 拖進 Form 內,名為 Timer1 的計時器便會於畫面出現。
  • 製作過程:2 - 開始及暫停按鈕

  • 製作兩個分別用以開始及暫停計時的按鈕:
  • Button1:開始計時
  • Button2:暫停計時
  • Private Sub Button1_Click(...) Handles Button1.Click
        Timer1.Start() '啟動計時
    End Sub
    Private Sub Button2_Click(...) Handles Button2.Click
        Timer1.Stop() '暫停計時
    End Sub

    製作過程:3 - Tick(...)程序

  • 先宣告一個名為t的整數全域變量,用以記錄時間。
  • Public Class Form1

        't: 記錄時間的變量,Timer1_Tick每隔一秒把變量加1
        Dim t As Integer = 0

    Private Sub Button1_Click(ByVal sender As System.Object...
  • Double-click form 中的 Timer1,編寫Timer1.Tick(...)程序。
  • Private Sub Timer1_Tick(...) Handles Timer1.Tick
        t += 1 '把 t 加 1
        Label1.Text = t '把 t 的數值顯示於 Label1 內
    End Sub

    製作過程:4 - 設定 Timer1 的 Interval 屬性

  • Click 一下 form 內的 Timer1 物件,設定 Timer1 Interval 屬性的數值為 1000 (即一秒)。

  • 程式完成,請測試!

    改善建議

  • 這個程式有否可能以一個按鈕操作?
  • 現時程式只能以秒為單位計算,如何令程式以其他時間單位(如:小時、分鐘、毫秒)計時?
  • 令程式達至某一時間發出提示音效或訊息
  • 若要為多個跑步的運動員計時,這個計時器該如何修改?
  • 更改程式為一個倒數計時器,使用者先輸入要倒數的時間,當倒數完畢時發出聲響提示。

  • 檔案下載

  • 下載程式碼:TimerTest.zip

  • 程式原始碼

  • 注意!由於空間所限,部份程式碼以「...」省略!因此請勿直接複製整個程式!
  • Public Class Form1

        't: 記錄時間的全域變量,Timer1_Tick每隔一秒把變量 t 加 1
        Dim t As Integer = 0

        Private Sub Button1_Click(...) Handles Button1.Click
            Timer1.Start() '啟動計時
        End Sub

        Private Sub Button2_Click(...) Handles Button2.Click
            Timer1.Stop() '暫停計時
        End Sub

        Private Sub Timer1_Tick(...) Handles Timer1.Tick
            'Timer1 每隔一段時間(Interval屬性)執行一次Timer1_Tick程序
            t += 1
            Label1.Text = t
        End Sub

    End Class