以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何简化代码实现只保留主要窗体和最后打开的窗体不被关闭,其他所有打开的任何类型的窗体都关闭呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175768)

--  作者:cnsjroom
--  发布时间:2022/3/18 9:41:00
--  如何简化代码实现只保留主要窗体和最后打开的窗体不被关闭,其他所有打开的任何类型的窗体都关闭呢?

如何简化实现只保留主要窗体和最后打开的窗体不被关闭,其他所有打开的任何类型的窗体都关闭呢?

 

不用每次都定义vars("FormName") 这个

 

当前代码:

For Each f As WinForm.Form In Forms
    output.Show("所有窗口为:" & f.Name)
    If Forms(f.Name).opened Then
        output.Show("已经打开的窗口为:" & f.Name)
        Dim frm As WinForm.Form = Forms.ActiveForm
        If frm IsNot Nothing Then
            \'output.Show("活动窗口为:" & frm.Name)
            If frm.name<>"主窗体"  And frm.name = vars("FormName") Then
               
            Else   If  frm.name<>"主窗体" Then
                Forms(frm.Name).Close()

            output.Show("已经关闭的窗口为:" & frm.Name)
            End If

        Else
        End If
    End If
Next


--  作者:有点蓝
--  发布时间:2022/3/18 10:03:00
--  
如果不使用全局变量记录,没有办法判断哪个窗口是最后打开的。