添加个全局布尔变量
在循环里增加对该变量的判断,或改用DO循环
在case 1 'Close Form
               me.hide
               Unload Me
     里改变该变量的值

解决方案 »

  1.   

    你那样的操作等于是触发了两个cmd_click事件,如果想通过一个事件中断另外一个事件,最好的办法就是设置公共变量,如:
    a=0
    private cmd_click(byval index as integer)
        dim B as long,i as integer
        select case index 
               case 0  
                  Const Max=20
                  for i=0 to Max
                    if a=0 then
                        .....
                        B=Timer
                        While Timer<B+10:DoEvents:Wend
                        Debug.print i
                    else
                      exit for
                    end if
                   Next
               case 1 'Close Form
                   a=1
                   me.hide
                   Unload Me
         End Select 
    End Sub
      

  2.   

    兄弟,这是因为doevents把控制权给释放了,当你unload me后,其实并不代表就马上结束了这个form 的,他还是会继续执行请他的代码,所以有个方法可以解决的,我给你一个实例
      

  3.   

    谢谢!发到这里就可以了。
    我的email:[email protected]