十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果这个窗体是主窗体的话,你只能隐藏,因为主窗体关闭的话程序就退出了。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了安顺免费建站欢迎大家使用!
如果不是主窗体,可以用Form1.Close来关闭。
如果实在是想关闭,就得把程序启动设为sub
main而不是form。
再由sub
main来启动窗体,这样就没有主窗体了。
这样的话你就不要直接把子窗口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变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了
首先这个应该放在 FormClosing 事件中。
其次,因为你 Else 之后没有忽略窗体关闭的请求。
应该再加一句 e.Cancel = True,表示告诉系统,我取消关闭窗体这个操作了。
VB.NET关闭当前窗体me.close()
其它窗体用:窗体名.close(),例如:form2.close()