注册 登录
编程论坛 VB6论坛

如何判断一子窗体是否已运行(打开)

燕之峰 发布于 2014-05-19 07:36, 458 次点击
各位网友好,在VB中,如何判断一子窗体是否打开(运行),代码如何写出。请指导,谢谢
2 回复
#2
风吹过b2014-05-19 08:10
目前的我想到的办法是遍类所有的窗体,然后判断名字来判断。

如果从开始就做准备,打开指定窗体时,就设置一个变量值,关闭时再设置一个值 就更好。
#3
风吹过b2014-05-19 21:31
1\标志法
模块文件
'判断是否打开了form1,只允许打开一个
Public Form1YN As Boolean

窗体
程序代码:
Private Sub Form_Load()
    Form1YN = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Form1YN = False
End Sub

调用
程序代码:
Private Sub Command1_Click()
'标志法
Dim p As Form1
If Not Form1YN Then
    Set p = New Form1
    p.Show
Else
    MsgBox "Form1 已打开"
End If
End Sub


2\遍类所有的窗体
程序代码:
Private Sub Command2_Click()
'遍类法
Dim p As Form
For Each p In Forms
    If p.Name = "Form1" Then
        MsgBox "Form1 已打开"
        Exit For
    End If
Next
End Sub
1