VB如何开启一个窗口的同时关闭另一个

我设计了一个菜单 菜单里的每个选项可以分别打开一个窗口
但是打开一个窗口A之后 再打开窗口B A不会消失只是被B盖住了 我再点打开A窗口就显示不出来 要先关掉B窗口才能看见A窗口
能否设计一个命令打开任意一个窗口的同时关闭前一个窗口
原代码如下:
Private Sub mnuabed_Click()
If Splash.Visible = True Then
Splash.Visible = False
End If
abed.Show
End Sub

Private Sub mnuclsquery_Click()
If Splash.Visible = True Then
Splash.Visible = False
End If
clsquery.Show
End Sub

Private Sub mnurbed_Click()
If Splash.Visible = True Then
Splash.Visible = False
End If
rbed.Show
End Sub
Private Sub mnusubexit_Click()
Dim response As Integer
response = MsgBox("确认退出吗?", vbOKCancel + vbQuestion, "退出")
If response = 1 Then
End
End If
End Sub

Private Sub mnusubquery_Click()
If Splash.Visible = True Then
Splash.Visible = False
End If
nam_datquery.Show
End Sub
虚心求教!

没有你想的那么复杂
假设有FORM1,FORM2,FORM3三个窗体
显示的是FORM1,点击按钮后,关闭form1,显示FORM2
在按钮中直接写
unload me
form2.show

在比如,关闭form2,显示form3
unload form2
form3.show

在VB中,你不必考虑某个窗体是否打开,直接unload就行。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-18
从你上面的叙述可以看出你的窗体使用率比较高,
这样的话可以在打开窗体A的事件中这样写:
A.show
B.hide
同样的在打开B的事件中:B.show A.hide
这样就是他们都在内存中 直接读取 不浪费时间
在关闭程序时 遍历所有窗体 然后Unload 就可以把他们从内存中卸载掉了
第2个回答  2015-08-08
'在模块中定义窗体全局变量
public FrmNow as form
'在每个窗体的加载过程中写代码
private sub Form_Load()
unload FrmNow
set FrmNow = me
end sub
第3个回答  2019-07-16
Load
Frm_1
Show
Frm_1
Unload
Frm_2
这个是VB6.0时候的语句
如果是2005或更高的话现在好像改成close什么的了
你可以查一下
Frm_1
Frm_2是窗口名称

应该没错吧
好久不写VB了
相似回答