啟動圖像
啟動畫面管理器允許您將任何圖像顯示為啟動畫面。
主要功能包括:
- 支持圖像透明性,因此初始圖像可能是不規(guī)則的形式,并且可能包含陰影。
- 支持設計時自定義。
- 可以在主表單啟動時自動顯示和關閉。
- 允許您自定義繪制圖像。
- 通過命令與啟動表單進行交互。
用代碼創(chuàng)建和顯示啟動圖像
這種方法使您可以用一行代碼將任何圖像顯示為啟動圖像,您可以使用自定義的繪圖器繪制啟動圖像(例如,繪制進度指示器)。
要調用啟動圖像,請調用靜態(tài)SplashScreenManager.ShowImage方法,將目標圖像指定為參數。 若要隱藏圖像,請調用靜態(tài)SplashScreenManager.HideImage方法。
C# :
Image im = Image.FromFile("mySplashScreen.png"); SplashScreenManager.ShowImage(im); //... SplashScreenManager.HideImage();
VB.NET :
Dim im As Image = Image.FromFile("mySplashScreen.png") SplashScreenManager.ShowImage(im) '... SplashScreenManager.HideImage()
SplashScreenManager.ShowImage方法重載允許您指定圖像位置并啟用淡入淡出動畫效果。
自定義繪制啟動圖像
要顯示啟動圖像并在初始圖像上繪制圖形,請執(zhí)行以下操作:
- 創(chuàng)建一個支持ICustomImagePainter接口的類。
- 通過ICustomImagePainter.Draw方法實現繪制過程。
- 將ShowImage方法重載與'painter'參數一起使用,并傳遞ICustomImagePainter對象作為此參數。
每次顯示圖像時,都會調用ICustomImagePainter.Draw方法。 要強制更新初始圖像,請調用SplashScreenManager.Invalidate方法。
在設計時創(chuàng)建啟動圖像(手動或自動顯示)
此方法提供以下自定義選項:
- 允許您在設計時創(chuàng)建啟動圖像。
- 在主表單啟動時自動顯示和關閉啟動圖像。
- 顯示并關閉代碼中的啟動圖像。
- 在啟動畫面上添加自定義控件。
- 訪問并擴展初始圖像類的實現。
- 使用命令與代碼中的初始圖像進行交互。
創(chuàng)建啟動圖像
- 右鍵單擊Visual Studio tray中的SplashScreenManager組件,然后選擇Add Splash Screen。
- 在Solution Explorer中雙擊生成的SplashScreen1.cs(SplashScreen1.vb)文件來打開設計時編輯器。
- 將SplashScreen的ShowMode屬性設置為Image。
- 您也可以使用 SplashScreen.SplashImageOptions 屬性來指定自定義圖像。
添加對圖像的自定義控件
在圖像上方顯示自定義控件:
- 啟用SplashScreen.AllowControlsInImageMode選項。
- 將自定義控件添加到啟動畫面。
注意:如果您需要使用自定義類擴展SplashScreen1.cs/.vb文件,請確保封裝Splash Screen的類在這些文件中排在第一位。
啟動時自動顯示和關閉
要在主表單的啟動時自動顯示創(chuàng)建的Splash Image,請確保將SplashScreenManager的Active Splash Form設置為您的啟動畫面, 打開SplashScreenManager的智能標記,然后檢查“ Active Splash Form”設置。
- 或者,您可以檢查屬性網格中的SplashScreenManager.ActiveSplashFormTypeInfo 設置。
啟動畫面管理器會在主窗體啟動時自動顯示激活的啟動畫面,并在初始化和顯示主表單時將其關閉。
手動顯示和關閉
確保啟動畫面管理器的Active Splash Form設置為 '(None)'。
若要顯示和關閉創(chuàng)建的啟動畫面,請使用靜態(tài)SplashScreenManager.ShowForm和SplashScreenManager.CloseForm方法。
C# :
SplashScreenManager.ShowForm(typeof(SplashScreen1)); //... SplashScreenManager.CloseForm();
VB.NET :
SplashScreenManager.ShowForm(GetType(SplashScreen1)) '... SplashScreenManager.CloseForm()
動態(tài)更新啟動畫面
啟動畫面顯示在單獨的線程中。 在代碼中,您可以通過SplashScreenManager.SendCommand 方法發(fā)送的命令與激活的啟動畫面進行交互(例如,動態(tài)更新自定義控件)。若要處理這些命令,請重寫SplashScreen.ProcessCommand 方法。