Private Sub Combo1_Click()
arr = Array(FormA, FormB, FormC, FormD) '数组内为窗体的Name
For Each frm In Forms
If frm.Name <> arr(Combo1.ListIndex).Name And frm.Name <> Me.Name Then frm.Hide
Next
arr(Combo1.ListIndex).Show
End Sub
frm.Hide可根据需要修改为'Unload frm
在你的下拉选项点击事件里面写
Dim frm As Form
For Each frm In Forms
If frm.Name <> "A" Then '将不是A窗体都关掉
frm.Visible = False
Else
frm.Visible = True '显示A的
End If
Next
这个是通过窗体名称来判断 你有其他标志也可以用的
ABCD对应Form2345
select case combo1.text
case "A"
form2.show
form3.hide
form4.hide
form5.hide
case "B"
form2.hide
form3.show
form4.hide
form5.hide
..........
end select
select case combo1.text
case A
FRM1.show
FRM2.HIDE
FRM3.HIDE
FRM4.HIDE
case B
FRM1.HIDE
FRM2.show
FRM3.HIDE
FRM4.HIDE
case C
FRM1.HIDE
FRM2.HIDE
FRM3.show
FRM4.HIDE
case D
FRM1.HIDE
FRM2.HIDE
FRM3.HIDE
FRM4.SHOW
end select
楼上的不错