请问VB中用sleep函数和使用doevents有什么不同?
在等待中有时用sleep可以,但用DoEvents却不行。为什么?

解决方案 »

  1.   

    DoEvent是将CPU控制权交出去,是为了在长循环中进程占据全部CPU资源。
    sleep是使当前线程等待一段时间。
      

  2.   

    那如果用定时器(时间)+Doevents是不是等于sleep(时间)?
      

  3.   

    Sleep就是睡觉,等待的时候是什么都不做的,CPU占用率是0的,同时这个进程在这个时间也是什么都不能干的。
    DoEvents就是做事件,就是把机会让给别的事件,自己暂时休息一下,但是占着的位置不会空出来。在死循环里放个DoEvents,CPU占用率是100%,同时这个进程还是可以做别的事情的。
      

  4.   

    两者结合:
    do until 时间到
     DoEvents:Sleep 1
    loop
    这样子,效果是最佳的。