如果這個(gè)窗體是主窗體的話,你只能隱藏,因?yàn)橹鞔绑w關(guān)閉的話程序就退出了。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安順免費(fèi)建站歡迎大家使用!
如果不是主窗體,可以用Form1.Close來關(guān)閉。
如果實(shí)在是想關(guān)閉,就得把程序啟動(dòng)設(shè)為sub
main而不是form。
再由sub
main來啟動(dòng)窗體,這樣就沒有主窗體了。
這樣的話你就不要直接把子窗口show出來,先在父窗口創(chuàng)建一個(gè)子窗口對象的變量,通過實(shí)例化該變量達(dá)到創(chuàng)建子窗口的目的,然后在下次又要打開子窗口時(shí)也可以通過該變量關(guān)閉原有的子窗口
示例代碼如下(假設(shè)Form1為父窗口,F(xiàn)orm2為子窗口):
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變量,你可以很輕易就處理掉原來已經(jīng)打開但隱藏著的子窗口了
首先這個(gè)應(yīng)該放在 FormClosing 事件中。
其次,因?yàn)槟?Else 之后沒有忽略窗體關(guān)閉的請求。
應(yīng)該再加一句 e.Cancel = True,表示告訴系統(tǒng),我取消關(guān)閉窗體這個(gè)操作了。
VB.NET關(guān)閉當(dāng)前窗體me.close()
其它窗體用:窗體名.close(),例如:form2.close()