我正在使用System.Windows.SplashScreen添加啓動畫面到我的WinForms應用程序(它有很多WPF控件,但'主窗口'仍然一個System.Windows.Forms.Form對象)。當啓動畫面關閉時,整個應用程序也一樣。Stop System.Windows.SplashScreen與關閉應用程序的WinForms
我可以阻止它整個應用程序嗎?
我正在使用System.Windows.SplashScreen添加啓動畫面到我的WinForms應用程序(它有很多WPF控件,但'主窗口'仍然一個System.Windows.Forms.Form對象)。當啓動畫面關閉時,整個應用程序也一樣。Stop System.Windows.SplashScreen與關閉應用程序的WinForms
我可以阻止它整個應用程序嗎?
是的,執行Application.Run調用很重要。該調用將程序的控制權轉移給您指定的任何主要形式。該程序將繼續運行,直到該表單關閉。如果您不進行該調用,那麼Main()函數將保留控制權,並且Main()退出時應用程序將退出。這是由VB.NET IDE在幕後完成的,儘管它可以在應用程序選項卡的應用程序設置窗口中覆蓋,您可以在其中指定啓動窗體。在C#中,如果您指定了Windows Form項目,則通常通過代碼模板添加此代碼,但如果您打開空白項目,則不會看到它。希望有所幫助。
我對這個問題有點太快 - 看起來問題來自於我開始應用程序的方式。如果你這樣做:
form.ShowDialog();
然後形式的父被設置爲開機畫面,所以當關閉它也關閉子窗口(在這種情況下,「形」),但如果你使用:
System.Windows.Forms.Application.Run(form)
要啓動應用程序,那麼「表單」不是啓動畫面的子項,因此不會與啓動畫面關閉。