如何做VB计时器

来源:360问答 责任编辑:王亮
默认
特大
宋体
黑体
雅黑
楷体


如何做VB计时器(图2)


如何做VB计时器(图4)


如何做VB计时器(图8)


如何做VB计时器(图16)


如何做VB计时器(图18)


如何做VB计时器(图25)

  为了解决用户可能碰到关于"如何做VB计时器"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"如何做VB计时器"相关的详细问题如下:

就是有好几个按钮,任意按其中一个都可以使计时器停止并记录时间同时开始另一次计时,求代码


===========突袭网收集的解决方案如下===========

解决方案1:

VB6的代码:

新建一个窗体,在窗体中摆放一个CommandButton(不要更改名称,更改属性Index为0)和一个Timer(不要更改名称),然后在窗体中插入如下代码:

Option Explicit

Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Unloading As Boolean
Private LastStart As Long, Cx As Long, Cy As Long, Cw As Long
Private oHH As Integer, oNN As Integer, oSS As Integer
Private LastTime As String

Private Sub Command1_Click(Index As Integer)

    Command1(Index).Caption = LastTime
    LastStart = GetTickCount

End Sub

Private Sub Form_Load()

    Dim I As Long, W As Long, H As Long, S As String
    CenterFormAndSetInnerSize 640, 480
    Me.ScaleMode = 3
    S = "单击计时结束"
    Me.FontName = "微软雅黑"
    Me.FontSize = 10
    W = Me.TextWidth(S) + 16
    H = Me.TextHeight(S) + 16
    With Command1(0)
        .Move 0, 0, W, H
        .Caption = S
        .FontName = "微软雅黑"
        .FontSize = 10
    End With
    With Command1
        For I = 1 To 100
            Load .Item(I)
            .Item(I).Move 0, .Item(I - 1).Top + .Item(I - 1).Height, W, H
            .Item(I).Caption = S
            .Item(I).Visible = True
            With .Item(I)
                If .Top + .Height + .Height > Me.ScaleHeight Then Exit For
            End With
        Next
    End With
    Me.Show
    Me.AutoRedraw = True
    DoEvents
    S = "00:00:00.000"
    With Me
        With .Font
            .Name = "微软雅黑"
            .Size = 64
        End With
        W = .TextWidth(S): H = .TextHeight(S): Cw = .TextWidth("00:")
        Cx = Command1(0).Width + (.ScaleWidth - Command1(0).Width - W) \ 2
        Cy = (.ScaleHeight - H) \ 2
        .FontTransparent = False
        .CurrentX = Cx
        .CurrentY = Cy
        Me.Print S
    End With
    oHH = -1: oNN = -1: oSS = -1
    LastStart = GetTickCount
    With Timer1
        .Interval = 1
        .Enabled = True
    End With

End Sub

Private Sub CenterFormAndSetInnerSize(ByVal WidthPixel As Long, ByVal HeightPixel As Long)

    Dim Dx As Long, Dy As Long, W As Long, H As Long
    With Me
        .ScaleMode = 1
        Dx = .Width - .ScaleWidth
        Dy = .Height - .ScaleHeight
        W = .ScaleX(WidthPixel, 3, 1)
        H = .ScaleY(HeightPixel, 3, 1)
        W = W + Dx: H = H + Dy
        .Move (Screen.Width - W) \ 2, (Screen.Height - H) \ 2, W, H
    End With

End Sub

Private Sub Timer1_Timer()

    Dim D As Long, HH As Integer, NN As Integer, SS As Integer, MS As Integer
    If Unloading Then Exit Sub
    D = Abs(GetTickCount - LastStart)
    MS = D Mod 1000: D = Int(D * 0.001)
    HH = D \ 3600: D = D - HH * 3600
    NN = D \ 60: D = D - NN * 60
    SS = D
    If HH <> oHH Then Me.CurrentX = Cx: Me.CurrentY = Cy: Me.Print Format$(HH, "00") & ":"
    If NN <> oNN Then Me.CurrentX = Cx + Cw: Me.CurrentY = Cy: Me.Print Format$(NN, "00") & ":"
    If SS <> oSS Then Me.CurrentX = Cx + Cw + Cw: Me.CurrentY = Cy: Me.Print Format$(SS, "00") & "."
    Me.CurrentX = Cx + Cw + Cw + Cw: Me.CurrentY = Cy: Me.Print Format$(MS, "000")
    LastTime = Format$(HH, "00") & ":" & Format$(NN, "00") & ":" & Format$(SS, "00") & "." & Format$(MS, "000")

End Sub

你就能看到你想要的结果了。

如果你不用VB自带的Timer控件,可以参考我的这篇文章来提高计时精度:

http://mp.weixin.qq.com/s/q0QpILLn8IG_mKsmAEhI5g

希望能给你帮助。

解决方案2:

获取date函数然后操作就可以了

解决方案3:

Private Sub Command1_Click()

Shell "at " + Text2.Text + " shutdown -s -t 0"

End Sub


Private Sub Form_Load()

Timer1.Interval = 100

End Sub


Private Sub Timer1_Timer()

Text1.Text = Time

End Sub

VB计时器怎么用

答:Timer控件使用: Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理,Timer 控件也非常有用。 每个 Timer 控件都有 Interval ...

VB中怎样制作一个计时器? 能够设置倒计时的时间,...

答:用到三个控件:文本框(Text1)、按钮(Command1)、计时器(Timer1) Private Sub Command1_Click() Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Text1.Text = Val(Text1.Text) - 1 If Text1.Text < 1 Then MsgBox "时间到" Un...

VB倒计时怎么做

答:用Timer控件,.Interval设置触发时间,再定义一个全局变量用于计数即可,示例: Dim js As LongPrivate Sub Form_Load()Timer1.Interval = 1000 '1秒触发一次Label1 = ""js = 10End SubPrivate Sub Timer1_Timer()If js = 0 Then EndLabel1 = "...

用vb的timer做一个计时器程序

答:窗体上放一个Label,三个Command按钮: Dim h As Integer, m As Integer, s As Integer, ms As IntegerPrivate Sub Command1_Click()Timer1.Enabled = TrueTimer1_TimerEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivat...

怎样用VB做一个秒表计时器

答:代码如下: Private x As DoublePrivate Sub Form_Load() Timer1.Interval = 100 Timer1.Enabled = FalseEnd SubPrivate Sub Command1_Click() Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click() Timer1.Enabled = FalseEnd SubPrivate...

vb怎么设计简单的计时器

答:Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Command3_Click() Timer1.Enabled = False Label1.Caption = 0 End Sub Private Sub Form_Load() Timer...

VB.net中如何用timer控件编出一个简单的倒计时器?

答:Dim tCount As Integer '用来计数Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load tCount = 10 Timer1.Interval = 1000 '每秒执行一次 Timer1.Enabled = True EndSub Private SubTimer...

vb中怎样做出时钟?

答:VB可使用Timer控件、Line控件和绘图或加载图片等制作指针式时钟。 Timer 控件,通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。 Line 控件,Line 控件是图形控件,它显示水平线、垂直线或者对角线。 运行时不能使用 Move ...

如何在VB程序中设计一个倒计时器

答:Const SetTime As Long = 30 '设定时间'Timer1.Enabled 属性设为 True'Timer1.Interval 属性设为 1000Private Sub Timer1_Timer() Static Tm As Long Tm = Tm + 1 If Tm >= SetTime Then MsgBox "时间到!", vbInformation, "" Timer1.Enabled = ...

Vb如何实现两个计时器同时运行

答:'添加两个timer控件,两个label控件Private Sub Form_Load()Timer1.Interval = 500Timer2.Interval = 1000Timer1.Enabled = TrueTimer2.Enabled = TrueLabel1.Caption = 0Label2.Caption = 0End SubPrivate Sub Timer1_Timer()Label1.Caption = ...

声明:突袭网提供的解决方案均由系统收集自互联网,仅供参考,突袭网不保证其准确性,亦不代表突袭网观点,请自行判断真伪,突袭网不承担任何法律责任.

>>> 温馨提示:您还可以点击下面分页查看更多相关内容 <<<

头条

热门

24小时热评

热点排行榜

Copyright ? 2012-2016 tuxi.com.cn 版权所有 京ICP备10044368号 京公网安备11010802011102号 关于我们 | 广告服务 | 诚聘英才 | 联系我们 | 友情链接 | 免责申明