机器应当会很慢吧,5毫秒,5/1000秒,需要那么快吗? VB的时间控件对时间控制不是很准的,与系统处理有关系,好像VB使用消息机制来处理。 这样写对你的程序由帮助吗: Private Sub Timer1_Timer() if Time1.enable then exit sub end if my code执行时间用20 end sub
你可以这么做: Private Sub Timer1_Timer() Static bStart As Boolean if not bStart then exit sub bstart=true my code执行时间用20 bstart=false end sub
这个不一样,你的close是因为代码结束了,但是它的代码还没有结束,所以不可能跳出来,其实可以这样试试看timer1_timer() dim M_time M_time=timer do until(timer-M_time>20) doevents loop end sub其中加入一些调试代码看看。
每五MM来一次
例如:你设置timer.interval=60,那么其实效果是timer.interval=110!
VB的时间控件对时间控制不是很准的,与系统处理有关系,好像VB使用消息机制来处理。
这样写对你的程序由帮助吗:
Private Sub Timer1_Timer()
if Time1.enable then
exit sub
end if
my code执行时间用20
end sub
Private Sub Timer1_Timer()
Static bStart As Boolean
if not bStart then exit sub
bstart=true
my code执行时间用20
bstart=false
end sub
根据timer.interval=5的时间设定开始计时,5mm后
Timer事件发生
应该是还是执行完my code后再过5秒再执行,如用DOEVENT则执行5mm后,继续重头开始执行
A 赞成:执行5mm后,继续重头开始执行的有
zhangthree(田野)
kofkim(小金)
dragoonLee(龙)
B 赞成:执行完my code后再过5mm再执行的有
tony_jian(火山)
ilfsm(蜀山刀客)
happybeyond(马丁)
water_j(jxp)
至于: lishush(☆↑苯鸟先飞↑☆) 根据他的回答,我认为他是赞成A的,不知道我的认为对不对?究竟是A对,还是B对呢???????
close;
试想一下:
先是close,然后程序停留 interval里设置的时间呢???
还是先停留 设好的时间,在close呢???
应该是后则对吧!!!
dim M_time
M_time=timer
do until(timer-M_time>20)
doevents
loop
end sub其中加入一些调试代码看看。