iT邦幫忙

1

VB 如何關閉指定的表單

不好意思 又碰到新問題 搜尋很多文章 還是解決不了問題
VB跟VBA的語法超級不一樣
在VBA 可以利用
F2.show
unload me
但VB
我在F2被載入的畫面跑出來同時把f1關閉
我直接f1.CLOSE()
程式直接2個畫面都關閉
請高手指教

2 個回答

0
孫守真任真甫
iT邦新手 5 級 ‧ 2019-11-01 22:39:28
最佳解答

https://github.com/oscarsun72/how_to_close_specific_form_ithelp_WindowsApp

臉書直播

C++自修入門實境秀、C++ Primer Fifth Edition研讀秀

第74集


感恩感恩 南無阿彌陀佛

Public Class Form2
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim frm1 = Application.OpenForms("Form1")
        'frm1.Close() '不能關掉,因為是整個應用程式main()的入口,關掉Form1就等於結束應用程式了
        '除非在應用程式屬性中另外指派一個main()入口的物件(即在應用程式屬性中「啟動表單」的選項,不能設為Form1)
        '或在程式關閉模式,不要選擇「啟動表單關閉時」這個選項
        frm1.Visible = False
    End Sub

    Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        Dim frm1 = Application.OpenForms("Form1")
        frm1.Visible = True
    End Sub
End Class
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim frm2 As New Form2
        frm2.Show()
    End Sub
End Class

https://ithelp.ithome.com.tw/upload/images/20191101/20118680Lk09imVmH4.png
https://ithelp.ithome.com.tw/upload/images/20191101/20118680cpyCyOaG2n.png

能指教個問題嗎
最後的表單關閉 好像是所有的表單都關閉了 程式才結束的意思嗎

菩薩慈悲 剛才測試,是的
程式關閉模式設為「最後表單關閉時」 是所有的表單都關閉了,程式才會結束。
測試用程式碼已更新,剛才即用此碼測試的:
https://github.com/oscarsun72/how_to_close_specific_form_ithelp_WindowsApp

也可以指定離開應用程式,不必等到最後一個表單關閉才行。(原理仍是跑程式碼,讓程式代我們手動關閉表單,當最後一個表單關閉時,自然結束應用程式。末學將此機制寫在Form2的一個按鈕上,餘可類推)
至於有沒有直接結束應用程式的指令,末學一時找不到,只能先權巧如此,敬祈菩薩見諒。感恩感恩 南無阿彌陀佛
找到大概是這個指令,但使用時有許多要留意的,
Application.Exit()'https://www.blueshop.com.tw/board/show.asp?subcde=BRD20190106120323AS3&fumcde=FUM20050124191756KKC

這個權且的辦法,或許還更正式周全的,因為它是把結束應用程式交給編譯器去設定,我只要負責把表單都關閉,當最後一個也關閉時,就會正確地結束應用程式了。

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-11-01 10:07:32

如果是「整個程式都結束」的話
可以參考這篇

我要發表回答

立即登入回答