Option Explicit
Dim i As Integer
Dim L
Private Sub Command1_Click()
    i = 1
End SubPrivate Sub Timer1_Timer()
    Timer1.Enabled = False
L:
    If i = 0 Then GoTo L
    MsgBox ""
    Timer1.Enabled = Ture
End Sub
我是用类似上面的方法,当Timer1时间到时,先判断一个条件是否为真,如果是真就等待,直到是假的时候再向下执行,可是就是这个小小的程序,只要运行就要占用几乎全部的CPU资源
请问,这是为什么呀???
我想实现这样的要求应该怎样做???
请给指点,
谢谢

解决方案 »

  1.   

    如果i=0就一直goto了,当然会
      

  2.   

    L:
      If i = 0 Then GoTo L
     
    ^^
      

  3.   

    大哥。 vb的timer不是多线程。
    你不要以为你在那里等待, 就有可能把这个变量为1(比如你串口有了数据)。
      

  4.   

    当然是这样了
    呵呵
    你一直等待了当然是cpu100了
      

  5.   

    vb的timer不是多线程,那么程序的运行也不是多线程的了?
      

  6.   

    TO:aspower
    能帮我解决这个问题吗,是通迅方面的,也和这个有点关系.谢谢
    http://community.csdn.net/Expert/topic/5094/5094422.xml?temp=.4662897