問題描述:
大家可以做壹個程序試試:
建立2個Timer,2個Label
代碼如下:
Option Explicit
Dim a As Long
Dim b As Long
Private Sub Form_Load()
Timer1.Interval = 1
Timer2.Interval = 1000
End Sub
Private Sub Timer1_Timer()
a = a + 1
Label1.Caption = a
If a = 1000 Then Timer1.Enabled = False '當Timer1算到1000時結束
If a = 1000 Then Timer2.Enabled = False '察看當Timer1算到1000時是多少秒
End Sub
Private Sub Timer2_Timer()
b = b + 1
Label2.Caption = b
End Sub
如果interval=1000是1秒的話,interval=1應該是前分之壹秒(1毫秒),為什麽當timer1算到1000時,label2顯示的結果確是15呢?也就是說,用1/1000的速度數到1000,要花15秒的時間?~
解析:
系統不單單是妳的兩個timer在運行呀,很多進程都在排隊,各自的優先級是不壹樣的,所以timer不會在妳規定的interval內精確的獲得cup的使用權,所以妳提到的情況也是情理之中呀。如果妳有時間控制方面的精確需求,少用timer為妙