以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何动态关闭所有已经打开表单  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=191598)

--  作者:lanbor
--  发布时间:2024/4/25 11:14:00
--  如何动态关闭所有已经打开表单
我在BeforeShowErrorMessage 中加入以下代码后,再测试网络断线场景时
发现点“确定”后,只能闭关主程序,
那已经开启的子界面还在开启状态,且不能关闭。
请教专家:在执行Syscmd.Project.Exit() 之前
如何首先执行关闭所有已经打开的表单?
谢谢专家!


If vars("已弹出") = False Then
    If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("不存在或拒绝访问") Then
      e.Cancel = True
        vars("已弹出") = True
        MessageBox.Show("数据库服务器链接失败,请点击[确定]退出程序后,联系管理员处理!!", "温馨提示")
        Syscmd.Project.Exit()  请教专家
    End If
Else
    e.Cancel = True 
End If

--  作者:有点蓝
--  发布时间:2024/4/25 11:25:00
--  
不应该呀,主程序都关闭了,不可能还有子界面的

……
For Each f As WinForm.Form In Forms
    f.Close
Next
 Syscmd.Project.Exit()
……