定义一个公共变量: CurForm AS STRING=""再定义一个公共函数: Public Sub FrmUnload(ByVal myFrm As Form)
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、进贤网络推广、微信小程序开发、进贤网络营销、进贤企业策划、进贤品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供进贤建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
'关闭已经打开的窗口
Try
If myFrm.Name "FrmMain" Then
myFrm.Close()
End If
Catch ex As Exception End Try
End Sub每次在打开新窗体前先调用关闭窗口公共函数:FrmUnload(CurForm)然后将当前打开窗体名称赋值给变量 CurForm如果还看不懂那我也没办法了!没有悬赏分数的问题一般不会回答的!破例
VB.NET关闭当前窗体me.close()
其它窗体用:窗体名.close(),例如:form2.close()
1)你应该把你的代码放到queryunload事件而不是unload事件中,前者发生在窗体卸载之前(这时候两个子窗体还没有关闭),后者则发生在窗体的卸载过程中(这时子窗体已经关闭了)。
2)我觉得你可以在mdi窗体中放入一个picturebox来实现你的目的。
子窗体名.Close()
或
子窗体名.Dispose()
后者连同窗体内的对象一起销毁。
这样的话你就不要直接把子窗口show出来,先在父窗口创建一个子窗口对象的变量,通过实例化该变量达到创建子窗口的目的,然后在下次又要打开子窗口时也可以通过该变量关闭原有的子窗口
示例代码如下(假设Form1为父窗口,Form2为子窗口):
Form1的代码:
Public
Class
Form1
Dim
nform
As
Form2
=
Nothing
Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
If
nform
IsNot
Nothing
Then
nform.Close()
nform.Dispose()
End
If
nform
=
New
Form2
nform.Show()
Me.Hide()
End
Sub
End
Class
通过nform变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了