创建一个简单的计时器来计算秒,分和小时

时间:2010-10-21 06:27:27

标签: vb.net timer

我正在尝试创建一个非常简单的程序,基本上是一个计时器。 我有三组标签,lbl_secondslbl_minuteslbl_hours。 这些标签的默认值为00:00,我希望计时器能够为每个标签更改该标签。我用谷歌搜索了这个,但我似乎找不到任何好的信息。

我需要三个独立的计时器吗?我还注意到计时器有自己的tick事件处理程序。我想这就是我需要更改标签的值。该怎么做?

4 个答案:

答案 0 :(得分:5)

以下是此

的示例
Dim timercount As Integer = 60 'The number of seconds 
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
    Timer1.Interval = 1000 'The number of miliseconds in a second
    Timer1.Enabled = True 'Start the timer
End Sub

Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
    Timer1.Enabled = False 'Stop the timer
    timercount = 60 'Reset to 60 seconds
    lblOutput.Text = timercount.ToString() 'Reset the output display to 60
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    lblOutput.Text = timercount.ToString() 'show the countdown in the label
    If timercount = 0 Then 'Check to see if it has reached 0, if yes then stop timer and display done
        Timer1.Enabled = False
        lblOutput.Text = "Done"
    Else 'If timercount is higher then 0 then subtract one from it
        timercount -= 1
    End If
End Sub

答案 1 :(得分:2)

我认为你需要这种东西

Public Function GetTime(Time as Integer) As String
    Dim Hrs        As Integer  'number of hours   '
    Dim Min        As Integer  'number of Minutes '
    Dim Sec        As Integer  'number of Sec     '

    'Seconds'
    Sec = Time Mod 60

    'Minutes'
    Min = ((Time - Sec) / 60) Mod 60

    'Hours'
    Hrs = ((Time - (Sec + (Min * 60))) / 3600) Mod 60

    Return Format(Hrs, "00") & ":" & Format(Min, "00") & ":" & Format(Sec, "00")
End Function

您要传递标签文字上显示的时间(以秒为单位),时间将根据您的喜好进行格式化。

例如

lblTime.Text = GetTime(90)

这将在标签上显示00:01:30


作为参考,您可以看到我前一段时间在this project上提交的FreeVBCode。唯一需要注意的是项目是在VB6中。您应该能够在Visual Studio中打开它。

答案 2 :(得分:0)

使用一个计时器和标签的事件子更改值。

你需要一个计时器和三个计数器秒,分钟和小时。

计算分钟数,然后以模数分钟/ 60为单位,如果返回0则开始计算分钟数。 模数分钟/ 60,如果返回0则开始计算小时数。

答案 3 :(得分:0)

通过添加计时器开始。无论你喜欢什么,都可以调用它,在这个例子中,我将它保存为Timer1。添加标签并将文本设置为:00:00。

在设置类后的代码中(通常是Public Class Form1)将变量设为秒表:Dim stopwatch As New Stopwatch

在计时器刻度事件代码中,输入以下内容:(请注意我的00:00标签名为Label1)

Label1.Text = String.Format("{0}:{1}:{2}", watch.Elapsed.Hours.ToString("00"), watch.Elapsed.Minutes.ToString("00"), watch.Elapsed.Seconds.ToString("00"))