更新我的计时器(更好的计时器工具)

上一篇文章写了一点计时器的主体,这一次学了好多,继续更新计时器吧

form1代码修改:

这次添加了一个progressbar控件(简称bp)、移除form1的设置、将text换成了label(简称L几)

图片预览:

 但form1不是启动对象,而是form2,只要在自己的项目中右键项目,单击属性,看到启动窗体

 我们启动form2

form2我添加了一更多功能,可以控制窗体大小,整体是这样的

而启动时是这样的 ,好像没法移动……

 form1代码:


Public Class Form1
    Dim h As String
    Dim m As String
    Dim s As String
    Dim k, k1 As String 'check load

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        h = Val(Form2.TextBox1.Text & Form2.TextBox2.Text)
        m = Val(Form2.TextBox3.Text & Form2.TextBox4.Text)
        s = Val(Form2.TextBox5.Text & Form2.TextBox6.Text)
        Dim i As String = s + 60 * m + 3600 * h
        pb.Step = 1
        pb.Minimum = 1
        pb.Maximum = i
        k = 1
        Timer1.Interval = 1000 '每秒执行一次
        Timer1.Enabled = True
        Button2.Enabled = False
        Button4.Enabled = True
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Me.Visible = False
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        pb.Value = 1
        k = 0
        k1 = 0
        L1.Text = 0
        L2.Text = 0
        L3.Text = 0
        Timer1.Enabled = False
        h = Val(Form2.TextBox1.Text & Form2.TextBox2.Text)
        m = Val(Form2.TextBox3.Text & Form2.TextBox4.Text)
        s = Val(Form2.TextBox5.Text & Form2.TextBox6.Text)
        Dim i As String = s + 60 * m + 3600 * h
        pb.Minimum = 1
        pb.Maximum = i

    End Sub


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        L3.Text = L3.Text - 1
        pb.Value += 1
        If pb.Value > pb.Maximum Then
            pb.Value = 1
        End If
    End Sub


    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Timer1.Enabled = False
        Button2.Enabled = True
        Button4.Enabled = False
    End Sub
    Private Sub Button6_Click_1(sender As Object, e As EventArgs) Handles Button6.Click
        Form3.Show()
    End Sub

    Private Sub L1_TextChanged(sender As Object, e As EventArgs) Handles L1.TextChanged
        Dim a As String = L1.Text
        If a = -1 Then
            Timer1.Enabled = False
            L1.Text = 0
            L2.Text = 0
            L3.Text = 0
        End If
    End Sub
    Private Sub L2_TextChanged(sender As Object, e As EventArgs) Handles L2.TextChanged
        Dim a, b As String
        a = Val(L1.Text)
        b = Val(L2.Text)
        L1.Text = a
        L2.Text = b
        If b = -1 Then
            L2.Text = 59
            L1.Text -= 1
        End If
    End Sub
    Private Sub L3_TextChanged(sender As Object, e As EventArgs) Handles L3.TextChanged
        Dim a, b, c As String
        a = Val(L1.Text)
        b = Val(L2.Text)
        c = Val(L3.Text)
        L1.Text = a
        L2.Text = b
        L3.Text = c
        If c = -1 Then
            L3.Text = 59
            L2.Text -= 1
        End If
        If k = 1 Then 'load check
            If a = 0 Then
                If b = 0 Then
                    If c = 0 Then
                        Call Button3.PerformClick()
                        Timer1.Enabled = False
                        Button2.Enabled = False
                        Button3.Enabled = False
                        Button4.Enabled = False
                        My.Computer.Audio.Play("C:\Windows\Media\Ring10.wav")'播放声音
                    End If
                End If
            End If
        End If
    End Sub
End Class

form2代码(设置、启动对象)combobox简称(list)


Public Class Form2
    Dim h As String
    Dim m As String
    Dim s As String
    Dim a As String


    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        a = TextBox1.Text
        a = a + 1
        TextBox1.Text = (a)
    End Sub

    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        a = TextBox2.Text
        a = a + 1
        TextBox2.Text = (a)
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text = 2 Then
            TextBox2.Text = 0
        Else
            If TextBox1.Text < 0 Then
                TextBox1.Text = 2
            End If
            If TextBox1.Text > 2 Then
                TextBox1.Text = 0
            End If
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        a = TextBox1.Text
        a = a - 1
        TextBox1.Text = (a)
    End Sub

    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        a = TextBox3.Text
        a = a + 1
        TextBox3.Text = (a)
    End Sub

    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        a = TextBox4.Text
        a = a + 1
        TextBox4.Text = (a)
    End Sub

    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        a = TextBox5.Text
        a = a + 1
        TextBox5.Text = (a)
    End Sub

    Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
        a = TextBox6.Text
        a = a + 1
        TextBox6.Text = (a)
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        a = TextBox2.Text
        a = a - 1
        TextBox2.Text = (a)
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        a = TextBox3.Text
        a = a - 1
        TextBox3.Text = (a)
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        a = TextBox4.Text
        a = a - 1
        TextBox4.Text = (a)
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        a = TextBox5.Text
        a = a - 1
        TextBox5.Text = (a)
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        a = TextBox6.Text
        a = a - 1
        TextBox6.Text = (a)
    End Sub

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
        If TextBox1.Text = 2 Then
            If TextBox2.Text < 0 Then
                TextBox2.Text = 3
            End If
            If TextBox2.Text > 3 Then
                TextBox2.Text = 0
            End If
        Else
            If TextBox2.Text < 0 Then
                TextBox2.Text = 9
            End If
            If TextBox2.Text > 9 Then
                TextBox2.Text = 0
            End If
        End If
    End Sub

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
        If TextBox3.Text < 0 Then
            TextBox3.Text = 5
        End If
        If TextBox3.Text > 5 Then
            TextBox3.Text = 0
        End If
    End Sub

    Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
        If TextBox4.Text < 0 Then
            TextBox4.Text = 9
        End If
        If TextBox4.Text > 9 Then
            TextBox4.Text = 0
        End If
    End Sub

    Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
        If TextBox5.Text < 0 Then
            TextBox5.Text = 5
        End If
        If TextBox5.Text > 5 Then
            TextBox5.Text = 0
        End If
    End Sub

    Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
        If TextBox6.Text < 0 Then
            TextBox6.Text = 9
        End If
        If TextBox6.Text > 9 Then
            TextBox6.Text = 0
        End If
    End Sub

    Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
        h = Val(TextBox1.Text & TextBox2.Text)
        m = Val(TextBox3.Text & TextBox4.Text)
        s = Val(TextBox5.Text & TextBox6.Text)
        Form1.L1.Text = h
        Form1.L2.Text = m
        Form1.L3.Text = s
        Form1.Show()
        Call Form1.Button2.PerformClick()
        Form1.Button2.Enabled = False
    End Sub

    Private Sub Form2_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
        h = Val(TextBox1.Text & TextBox2.Text)
        m = Val(TextBox3.Text & TextBox4.Text)
        s = Val(TextBox5.Text & TextBox6.Text)
        Form1.L1.Text = h
        Form1.L2.Text = m
        Form1.L3.Text = s
        Me.Visible = False
        Form1.Show()
        Call Form1.Button2.PerformClick()
    End Sub

    Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
        End
    End Sub

    Private Sub Button15_Click_1(sender As Object, e As EventArgs) Handles Button15.Click
        If Me.Height = 348 Then
            Me.Height = 246
        Else
            Me.Height = 348
        End If
    End Sub

    Private Sub list_SelectedIndexChanged(sender As Object, e As EventArgs) Handles list.SelectedIndexChanged
        If list.SelectedItem = "倒计时" Then Form1.Show()
        If list.SelectedItem = "秒表" Then Form4.Show()
        If list.SelectedItem = "时钟" Then Form5.Show()

    End Sub

    Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
        Color.ShowDialog()
        Me.BackColor = Color.Color
    End Sub
End Class

form4代码+预览(秒表计时器)

Public Class Form4
    Dim k As String 'check times
    Dim a, b, c, d As String


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim a As String
        a = MsgBox("确实要清空列表吗?", vbYesNo + vbQuestion, "秒表提示")
        If a = vbYes Then
            List.Items.Clear()
            k = 0
        End If
    End Sub

    Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
        k += 1
        List.Items.Add(k & "   " & L1.Text & ":" & L2.Text & ":" & L3.Text & ":" & L4.Text)
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Timer1.Interval = 94 '调帧(需测试,根据自己合适的数值设置,最精确的整数值是94)
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        L4.Text = L4.Text + 1
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Timer1.Enabled = False
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Timer1.Enabled = False
        L1.Text = 0
        L2.Text = 0
        L3.Text = 0
        L4.Text = 0
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Me.Visible = False
    End Sub

    Private Sub L4_TextChanged(sender As Object, e As EventArgs) Handles L4.TextChanged
        d = Val(L4.Text)
        If d > 9 Then
            L4.Text = 0
            L3.Text += 1
        End If
    End Sub

    Private Sub L3_TextChanged(sender As Object, e As EventArgs) Handles L3.TextChanged
        c = Val(L3.Text)
        If c = 60 Then
            L3.Text = 0
            L2.Text += 1
        End If
    End Sub

    Private Sub L2_TextChanged(sender As Object, e As EventArgs) Handles L2.TextChanged
        b = Val(L2.Text)
        If b = 60 Then
            L2.Text = 0
            L1.Text += 1
        End If
    End Sub
End Class

form5代码+预览(时钟)

,别忘了那个label(简称L1) 

Public Class Form5
    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
    Dim a As String
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If list.SelectedItem = "yyyy-MM-dd hh:mm:ss" Then L1.Text = Format(Now(), "yyyy-MM-dd hh:mm:ss")
        If list.SelectedItem = "yyyy/MM/dd hh:mm:ss" Then L1.Text = Format(Now(), "yyyy/MM/dd hh:mm:ss")
        If list.SelectedItem = "yyyy年MM月dd日 hh时mm分ss秒" Then L1.Text = Format(Now(), "yyyy年MM月dd日 hh时mm分ss秒")
        If list.SelectedItem = "yyyy年M月d日 h时m分s秒" Then L1.Text = Format(Now(), "yyyy年M月d日 h时m分s秒")
    End Sub

    Private Sub Form5_Load(sender As Object, e As EventArgs) Handles Me.Load
        Timer1.Interval = 500
        Timer1.Enabled = True
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles list.SelectedIndexChanged
        If list.SelectedItem = "yyyy-MM-dd hh:mm:ss" Then L1.Text = Format(Now(), "yyyy-MM-dd hh:mm:ss")
        If list.SelectedItem = "yyyy/MM/dd hh:mm:ss" Then L1.Text = Format(Now(), "yyyy/MM/dd hh:mm:ss")
        If list.SelectedItem = "yyyy年MM月dd日 hh时mm分ss秒" Then L1.Text = Format(Now(), "yyyy年MM月dd日 hh时mm分ss秒")
        If list.SelectedItem = "yyyy年M月d日 h时m分s秒" Then L1.Text = Format(Now(), "yyyy年M月d日 h时m分s秒")
    End Sub
End Class

几乎每个窗体都需要timer控件

这个计时器是不是有点味道了呢?

源代码文件还在审核,过几天就可以看到源码文件了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值