说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于DoEvents

编辑:说三道四文库 发布时间:2018-04-24 03:02
HTML文档下载 WORD文档下载 PDF文档下载
  各位高手,愚者请教关于 DoEvents的问题:
  我看VB中都用DoEvents来延迟时间,但它还得看系统是否忙,因此不知延迟多久
不知有没有象C语言中delay()的函数一样可以确定拖延时间长短的方法
  另外,各个窗体中用不会相互影响吧?
   
   望给出解决的办法
doevents本来就不是用了延时的呀。
要想延时的话,得用一个while循环了。
api:sleep
api:sleep
Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
我记得Quick Basic中有Sleep函数
不知道为什么Visual Basic中就没有了
用循环也是可以的,for...next
can use timer() 
To zsuny:用for循环不太妥,因为由于硬件配置不同延时也会不同





用api的sleep函数,或你用系统定时器自己做一个,很简单的 
直接用timer控件 doevents写到timer里去
还是用timer控件比较好,而且,时间控制得比较准!
sleep不是很准的,
用api函数去做延时能到豪秒。
延时PauseTime:
   Start = Timer   ' 设置开始暂停的时刻。
   Do While Timer < Start + PauseTime
      DoEvents   ' 将控制让给其他程序。
   Loop
  
doevents不是延时函数,不知你是从那里得到消息硬说成了延时函数。用API的Sleep函数吧
它是API函数,使用前请在模块里进行声明吧。注意它的单位是毫秒哦。
楼上的说得对,DoEvents是把控制权交回给系统。在你的程序运行时间较长的时候,程序看起来像是死机,用DoEvents可以让系统处理其它事。
 
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘