设置一个布尔变量~
停止按钮让布尔变量的值为TRUE
在循环中检测该布尔变量。

解决方案 »

  1.   

    DoEvents 函数示例
    下列示例在循环中使用 DoEvents 函数,每当循环完成 1000 次时,将执行让给操作系统。DoEvents 返回仅当主应用程序是 Visual Basic时,打开的窗体个数。' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。
    Dim I, OpenForms
    For I = 1 To 150000   ' 循环开始。
       If I Mod 1000 = 0 Then    ' 如果循环一已完成了 1000 次。
          OpenForms = DoEvents   ' 将执行让给操作系统。
       End If
    Next I   ' 将循环计数器加一。
      

  2.   

    dim stop as boolean
    do until stop
    doevents
    'dosth
    loopPrivate Sub Command1_Click()
    stop=true
    End Sub
      

  3.   

    Dim StopLoop As BooleanPrivate Sub Command1_Click()
    StopLoop = True
    End SubPrivate Sub Form_Load()
    For i = 0 To 10000
       ......
       DoEvents
       If StopLoop = True Then Exit For
       ......
    Next i
    End Sub
      

  4.   

    Dim i As Integer
    Dim CU As Boolean
    Private Sub Command1_Click()
    CU = True
    Call WhileEx
    End SubSub WhileEx()
      Do While i <= 20000
          If CU = False Then Exit Sub
          Text1.Text = i
          DoEvents
          i = i + 1
      Loop
    End SubPrivate Sub Command2_Click()
    CU = False
    End Sub 
      

  5.   

    for i=0 to 10000
    doevents
    if not blnStop then 'blnStop as boolean 为全局变量
    ...'要执行的操作
    else
      exit for
    end if
    nextsub command_click()
    blnStop=True
    end sub
      

  6.   

    答Jneu:关键是在循环中,CPU一直在运行,其时单击按钮,计算机根本没有相应!所以好像不可行!!
      

  7.   

    循环中嵌入DoEvents语句即可~
      

  8.   

    to alj(alj)
    所以用doevents呀,这样系统就能响应事件了
      

  9.   

    但用doevent时要尽量保证所有的事件不会调用原来包含doevents的函数,否则就变成递归了