求助vb计时器问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 01:02:53
用VB设计一个计时器,两个按钮控制开始与停止,如何将记录的时间以xx.xxx秒的形式显示啊,也就是精确到小数点后三位~~
计时间隔不是可以1ms么,为什么不能到3位,如果真的不能的话,2位又是怎么样呢?

计时器计时精度不能达到小数点后3位。
注意:用计时器,设定interval=10,然后计数的方法是错误的,因为Timer控件虽然可以设定到1ms,但实际精度大约只有55ms。所以那种方法会使显示的时间变慢。
下面代码是显示精确到0.01,但实际上因为TIMER控件精度问题,更新是以大约55ms左右更新的,但肉眼看不出来:
Private Tm As Single, tmS As Single, Tmlast As Single, blnStart As Boolean, DateStart As Date, myDay As Long
Private Sub Command1_Click()
If blnStart Then Exit Sub '防止重复按键
Timer1.Enabled = True
tmS = Timer
blnStart = True
DateStart = Date
End Sub

Private Sub Command2_Click()
If blnStart Then '防止重复按键
Timer1.Enabled = False
Tm = Tm + Tmlast
blnStart = False
End If
End Sub

Private Sub Form_Load()
Timer1.Interval = 10
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Tmlast = Timer - tmS
myDay = Date - DateStart
Tmlast = Tmlast + 86400 * myDay '防止按开始键到结束键超过1天。
Label1.Caption = Format(CStr(Tm + Tmlast), "00.00")
End Sub

下面的代码,不用计时器