投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/1/19 20:41:54
経過時間の測定には、「System.Diagnostics.StopWatch クラス」が便利かと思います。
(Date 型/TimeSpan 型でも良いですけれども)

一方、「System.Windows.Forms.Timer クラス」は、
“一定時間が経過するたびにイベントを発生させる”という代物です。
(“一定間隔でイベントを発生させる”では無い事に注意)


以下サンプル。
フォームに、Label/Button/Timer を貼っておいてください。

Public Class Form1

    Private watch As New Stopwatch()

    Private Sub Timer1_Tick(ByVal sender As ObjectByVal e As EventArgs) Handles Timer1.Tick
        Label1.Text = watch.Elapsed.ToString()
    End Sub

    Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgs) Handles Me.Load
        Button1.Text = "開始/停止"
        Button2.Text = "リセット"
        Timer1.Interval = 20
        Timer1.Enabled = True
    End Sub

    Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgs) Handles Button1.Click
        If watch.IsRunning Then
            watch.Stop()
        Else
            watch.Start()
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As ObjectByVal e As EventArgs) Handles Button2.Click
        watch.Reset()
    End Sub
End Class


上記の Timer1.Interval は、画面の再描画間隔を表します。お好みで調整してください。