如何重新加載輔助表單退出時的主窗體?例如,如果frmMain是主窗體,並且隱藏了加載另一個稱爲GenerateNumbers的窗體,那麼當用戶退出GenerateNumbers時如何獲得frmMain?在Visual Basic中退出時打開和關閉窗體?
3
A
回答
1
如果你調用ShowDialog的次要形式,那麼你會做你的主窗體可見後第二形狀從ShowDialog方法返回。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim frm2 As Form2 = New Form2
Me.Hide()
frm2.ShowDialog()
Me.Show()
End Sub
0
如果您將輔助窗體顯示爲模態,應該很容易。把這個在你使用的任何活動,顯示第二形狀:
frmMain.Visible = False
frmGenerateNumbers.ShowDialog()
frmMain.Visible = True
3
最好的方法是添加一個事件處理程序到子窗體的Closing
事件。這樣,主窗體將在子窗體關閉時收到通知,然後它可以重新顯示自己。例如:
AddHandler frmChild.Closing, AddressOf ChildClosing
frmChild.Show()
Me.Hide()
'....
Private Sub ChildClosing(sender As Object, e As EventArgs)
RemoveHandler CType(sender, Form).Closing, AddressOf ChildClosing
Me.Show()
End Sub
正如其他人所說,如果你表現出與ShowDialog
方法子窗體,這是容易得多。事實上,如果你這樣做,那麼就實在沒有理由隱藏的主要形式,你可以通過在主窗體到對話框作爲所有者:
frmChild.ShowDialog(Me)
提示:如果不隱藏主表單,將子表單的起始位置屬性設置爲主體的中心。
或者,您可以給主窗體提供一個引用,以便在關閉時使主窗體可見,但我會說這是最不理想的選項。
相關問題
- 1. C#中打開窗體並關閉它
- 2. 打開和關閉窗口
- 3. 我的主窗體在15秒後自動關閉(Visual Basic)
- 4. Visual Basic MsgBox退出
- 5. 關閉退出打開的目錄()
- 6. 當在線程中打開查詢時關閉窗體時出錯(德爾福)
- 7. 如何在按下退出鍵時關閉窗體?
- 8. 如何關閉已退出C的進程打開的窗口#
- 9. 正確地在C中打開和關閉多個窗體窗體#
- 10. 關閉MessageBox但保持窗體打開
- 11. WPF/C# - 窗口在打開時關閉
- 12. 使用javascript在打開新窗體之前關閉所有打開的窗體
- 13. 當窗體加載時,打開窗體2並關閉窗體1
- 14. Visual Basic窗體應用程序自定義關閉按鈕
- 15. 如何正常退出關閉打開excel文件時出錯?
- 16. Visual Basic檢查文件是否打開|重複關閉
- 17. 關閉現有的窗體打開另一個窗體
- 18. 以ShowDialog形式打開窗體但關閉窗體
- 19. vb.net關閉多個窗體並打開另一個窗體
- 20. 打開一個新窗體,關閉舊窗體C#
- 21. Visual C++窗體打開
- 22. 關閉一個窗體並打開另一個窗體
- 23. 當.NET窗體打開時,Visual Basic 6.0應用程序不會關閉。相反,它顯示消息「無法退出」
- 24. 關閉在javascript中打開的窗口
- 25. CodeIgniter - JS彈出窗體打開然後關閉
- 26. 如何在窗體上打開新窗口關閉?
- 27. 打開和關閉JavaScript窗口
- 28. WPF:打開和關閉窗口
- 29. 退出時自動關閉打開的文件?
- 30. 自舉模式彈出窗口在點擊關閉時打開
您是否需要在關閉時將一些信息從GenerateNumbers窗體移動到主窗體? – Fabio
否。在這種情況下,每個表單都有不同的用途,不需要保存工作。更具體地說,這是一個樂透號碼發生器。 – Brandon
項目+屬性,應用程序選項卡,關閉模式=上一個表格關閉時。現在,您只需調用Show()即可顯示新窗體並關閉不想激活的窗體。 –