其实我是对Doevents的使用有疑问,请看下面代码,可以这样使用吗??Private Sub Form_Load() Timer1.Interval = 5000 Timer1.Enabled = False End SubPrivate Sub Command2_Click() Timer1.Enabled = True Do While l < 5 Timer1.Enabled = True DoEvents Loop l = 0 End SubPrivate Sub Timer1_Timer() Timer1.Enabled = False l = l + 1 End Sub
可以,但你的代码看着不爽:dim l as integer Private Sub Form_Load() Timer1.Interval = 5000 Timer1.Enabled = False End SubPrivate Sub Command2_Click() Timer1.Enabled = True Do While l < 5 DoEvents Loop Timer1.Enabled = False l = 0 End SubPrivate Sub Timer1_Timer() l = l + 1 End Sub
但是网上说Timer一次延时只有64S大概
Timer1.Interval = 5000
Timer1.Enabled = False
End SubPrivate Sub Command2_Click()
Timer1.Enabled = True
Do While l < 5
Timer1.Enabled = True
DoEvents
Loop
l = 0
End SubPrivate Sub Timer1_Timer()
Timer1.Enabled = False
l = l + 1
End Sub
Private Sub Form_Load()
Timer1.Interval = 5000
Timer1.Enabled = False
End SubPrivate Sub Command2_Click()
Timer1.Enabled = True
Do While l < 5
DoEvents
Loop
Timer1.Enabled = False
l = 0
End SubPrivate Sub Timer1_Timer()
l = l + 1
End Sub
我想做一个一定时间内的控制权转让,以前都是用timegettime来计算延时,后来发现,机器运行久了,这个函数有问题,由此想到了一些问题,请教一下~~~~
那用您给的代码就可以完美代换以下代码了吧???savetime = timeGetTime
While timeGetTime < savetime + 240000
DoEvents
Wend
其实经过我的实验,我贴的程序就可以做长时间延时,说的很对,时间长就不需要精确重点是,我在延时中,要转让控制权,就是加上Doevents,这个是重点。如果11L给出的程序和我在14楼里说得程序等效就OK了,除了长时间运行会错误外,我对我14楼写得程序还是很满意的,呵呵~~~~
长整型,应该有好几天了吧.