是不是代码中先判断caption,然后跳转丫

解决方案 »

  1.   

    我们确实应该开心一点:)
    可以判断CAPTION
    也可以定义一个BOOL变量
    根据变量也可以判断出来
      

  2.   

    Private Sub Command1_Click()
    Select Case Command1.Caption
    Case "开始"
     Command1.Caption = "停止"
     '开始运行的代码
    Case "停止"
     Command1.Caption = "开始"
     '停止运行的代码
    End Select
    End SubPrivate Sub Form_Load()
    Command1.Caption = "开始"
    End Sub
      

  3.   

    建议使用某个变量来进行判断,这个变量可以是函数内的静态变量,也可以是窗体级的公有变量,caption可以留作它用,而且如果caption显示成“开始 5 秒”这类计时的形式,判断的方式又要变。
      

  4.   

    我猜想你的计算应该是包含一个或几个大循环吧,那么你可以用类似下面的原型来作:窗体级变量:
    dim bStop as boolean
    dim bStoped as boolean计算函数:
    function computeSomething()
    for i=1 to 100000000000000000   ;开玩笑了啦
     if bStop then 
      goto hExit
     end if
     
     doevents do large compute....
    next hExit:
    bStoped=True
    exit function按钮:
    sub btnStop_Click()
     bStoped=False
     bStop=true
     doevents
     
     while not bStoped
      doevents
     wend btnStop.enable=false
    end sub以上只是一个原型,一般情况,我们只用到了一个bStop这个标志,即只需通知程序的另一部分(也可以理解为另一个线程)要停止了,但为了防止停止工作需要很长时间,或者“do large compute....”这一部分需要很长时间,所以使用了另一个标志来通知按钮是否已经正常停止了。
    这类程序还需要注意的就是doevents的使用,滥用会导致未知的错误或结果,所以使用的地方一定要合适。