我需要从另一个VB6表单中关闭一个VB6表单。我在form_unload中尝试了以下操作,但dint工作:
End
unload(form_name)
me.close
set obj_formname = nothing
unload(me)
注意:我只需要关闭特定窗口但应用程序不应该关闭
如果我错过了什么,请帮帮我
答案 0 :(得分:1)
当您对Form2执行操作或使用对它的引用时,将再次加载Form2
在您执行操作之前,您可以先检查是否已加载Form2,如果不是,您可能决定不执行操作
查看以下测试项目,该项目由2种形式组成:
Form1有3个命令按钮和以下代码:
Option Explicit
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Unload Form2
End Sub
Private Sub Command3_Click()
DoForm2
End Sub
Private Sub DoForm2()
Dim frm As Form
Dim blnLoaded As Boolean
'check if Form2 is loaded
blnLoaded = False
For Each frm In Forms
If frm.Name = "Form2" Then
blnLoaded = True
End If
Next frm
'perform action if Form2 is loaded
If blnLoaded Then
Form2.Caption = CStr(Now)
'Print Form2.Name
End If
End Sub
Form2没有控件和以下代码:
Option Explicit
Private Sub Form_Load()
MsgBox "Form2 loaded"
End Sub
每当加载Form2时,都会显示一个消息框。
要测试,请执行以下操作:
然后删除行" 如果blnLoaded那么"和相应的" 结束如果"并执行相同的测试......现在您将看到Form2将在最后一步加载
在Form2的标题栏上写一些东西你也可以通过读取Form2的名称来做同样的测试,删除行" Form2.Caption = CStr(Now)&# 34;并取消注释该行" Print Form2.Name " ..这将得到相同的结果
答案 1 :(得分:0)
尝试以下测试项目,该项目包含两种形式:
Form1上有2个命令按钮,代码如下:
Option Explicit
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Form2.Hide
End Sub
Form2只是要显示和隐藏,它什么都不包含
单击Command1时,它将显示Form2,当您单击Command2时,它将隐藏Form2
您还可以将以下代码用于Command2
Private Sub Command2_Click()
Unload Form2
End Sub
这两个例子都适合我。如果您的Form2仍然存在,那么可能会有一些引用它或在您尝试关闭它之后加载/显示它