Dim blCmd1 As Boolean
Private Sub Command1_Click()
    blCmd1 = True
End Sub
===================================
a = Split(Text1.Text, vbCrLf)
  For i = LBound(a) To UBound(a)
  If i Mod yemianshu = 0 And i <> 0 Then
  l = GetTickCount()
  Do
    DoEvents
    if blCmd1 then
        blCmd1=false
        Exit Do
    end if
  Loop Until GetTickCount() - l >= xx * 1000
End If

解决方案 »

  1.   

    用一个全局变量来记录停止循环得消息:
    DIM STOP AS BOOLEAN
     SUB COMMAND1_CLICK()
      STOP= TRUE
    END SUB...
    FOR ..
    IF STOP THEN EXIT FOR
    NEXT基本就是这样
      

  2.   

    cqq_chen(我是谁) ( ) 信誉:96  2007-08-10 14:02:13  得分: 0  不是我较真,你可以试着测试一下,二楼的for ... next 循环时,很难接收或者根本接收不到STOP= TRUE 消息。 因为在循环体内如果不加入DoEvents的话。
      

  3.   

    楼上正解!DoEvents对于VB这种属于一根筋(单线程)语言是很重要的,但也很非常危险,建议少用。
      

  4.   

    cqq_chen(我是谁)星星并不一定就好~``眼睛长哪了~