我在一个FORMA是主窗口,我在FORMA中用无模式的方式弹出了FORMB用来显示程序的执行进度.在执行完成后我用FORMB.hide方法让窗口关闭,但是经过一段时间的执行后,窗口FORMB在有些时候不能关闭,是什么原因,有什么解决办法吗?

解决方案 »

  1.   

    是不是程序仍在执行啊?加Doevents试试
      

  2.   

    呵呵,不会,代码很简单的.其中的LoadFrm就是罪魁祸首While Not RsType.EOF
        rsName.Open sString, cn, adOpenKeyset, adLockBatchOptimistic
        If rsName.BOF = True Then
           GoTo BREAKRSTYPE
        End If
        rsName.MoveFirst
        LoadFrm.Show
        LoadFrm.Visible = True
        LoadFrm.ProgressBar1.Max = rsName.RecordCount
        LoadFrm.ProgressBar1.Value = 0
        
        While Not rsName.EOF
            LoadFrm.Label1.Caption = "正在处理 " + n + " " + newString
            LoadFrm.Refresh
            Me.Refresh
            ....此处省略5000行
            LoadFrm.ProgressBar1.Value = LoadFrm.ProgressBar1.Value + 1
            rsName.MoveNext
        Wend
        rsName.Close
        RsType.MoveNext
        LoadFrm.ProgressBar1.Value = LoadFrm.ProgressBar1.Max
        LoadFrm.Hide
        LoadFrm.Visible = False
    Wend
      

  3.   

    最后两句 ,try:Unload LoadFrm