VB 关于timer控件的问题(时间不对)

2024-11-06 13:45:00
推荐回答(3个)
回答1:

没问题的。timer控件记时不精确,特别是interval很小的时候。可以考虑用win api里面的函数来记时,如果有需要的话可以直接上网下一个改进的控件。

回答2:

interval是以毫秒为单位的,设置成1000才上1秒钟.

回答3:

使用 Timer 控件
Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理, Timer 控件也非常有用。
如果应用程序或其它应用程序正在进行对系统要求很高的操作— 例如长循环、高强度的计算或者正在访问驱动器、网络或端口— 则应用程序定时器事件的间隔可能比 Interval 属性指定的间隔长。
间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成 18 个时钟信号— 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。

使用API函数精度在毫秒级:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Label1.Caption = Time$
Sleep (6000) '精度在毫秒
Text1 = "123"
Label2.Caption = Time$
End Sub