DevExpress技術交流羣3:700924826 歡迎一起進羣討論
啓動畫面管理器允許您創建不同的啓動畫面,以下是您可以在設計時創建和自定義的初始屏幕。
主要功能包括:
- 非皮膚依賴外觀。
- 支持設計時自定義。
- 可以在主表單啓動時自動顯示和關閉。
- 通過命令與啓動表單進行交互。
在設計時創建和自定義啓動畫面
將SplashScreenManager組件拖放到窗體上,右鍵單擊Visual Studio托盤中的組件,然後選擇Add Splash Screen。
SplashScreenManager將新的SplashScreen 表單添加到您的項目中。
雙擊SplashScreen1.cs(SplashScreen1.vb)文件打開設計時編輯器。
您可以在Splash Screen中更改控件的佈局,刪除或添加自定義控件、更改默認標籤和圖像等。
注意:如果您需要使用自定義類擴展SplashScreen1.cs / .vb文件,請確保在您的自定義類聲明之前,封裝Splash Screen的類在這些文件中排在第一位。
在主窗體啓動時自動顯示和關閉啓動屏幕
要在主窗體的啓動時顯示創建的啓動屏幕,請確保將SplashScreenManager的激活啓動表單設置爲啓動屏幕,打開SplashScreenManager的智能標記,然後檢查Active Splash Form設置。
或者,您可以檢查屬性網格中的SplashScreenManager.ActiveSplashFormTypeInfo設置。
啓動畫面管理器將在主窗體啓動時自動顯示激活的啓動畫面,並在主窗體已完全初始化並顯示後將其關閉。
啓動畫面設置
在自動模式下,您可以通過SplashScreenManager組件提供的屬性訪問和自定義初始屏幕的設置。
項目設置
您可以使用Project Settings窗口來指定應用程序設置,例如您可以啓用DPI感知來根據DPI設置自動縮放應用程序。如果您將DevExpress表單用作主應用程序表單,則會自動應用這些設置。 但是,如果在主窗體之前顯示啓動畫面,則不會自動應用這些設置。 若要應用設置,請在顯示Splash Screen之前(例如在Splash Screen的構造函數中)調用WindowsFormsSettings.LoadApplicationSettings 方法。
C#
using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; public partial class SplashScreen1 : SplashScreen { public SplashScreen1() { WindowsFormsSettings.LoadApplicationSettings(); InitializeComponent(); this.labelCopyright.Text = "Copyright © 1998-" + DateTime.Now.Year.ToString(); } }
VB.NET
Imports DevExpress.XtraEditors Imports DevExpress.XtraSplashScreen Partial Public Class SplashScreen1 Inherits SplashScreen Public Sub New() WindowsFormsSettings.LoadApplicationSettings() InitializeComponent() Me.labelCopyright.Text = "Copyright © 1998-" & DateTime.Now.Year.ToString() End Sub End Class
顯示並關閉代碼中的啓動畫面
如上所述創建啓動屏幕,清除啓動畫面管理器的激活啓動表單(將其設置爲 '(None)')。
若要顯示和關閉啓動畫面,請使用靜態SplashScreenManager.ShowForm 和SplashScreenManager.CloseForm方法。
C#
SplashScreenManager.ShowForm(typeof(SplashScreen1)); //... SplashScreenManager.CloseForm(); VB.NET SplashScreenManager.ShowForm(GetType(SplashScreen1)) '... SplashScreenManager.CloseForm()
啓動屏幕設置
SplashScreenManager.ShowForm方法重載允許您指定窗體位置、延遲、啓用淡入和淡出效果等。
要在所有其他窗體上方顯示啓動畫面,可以啓用SplashScreen.TopMost屬性。
動態更新啓動畫面
啓動屏幕顯示在單獨的線程中,您可以使用SplashScreenManager.SendCommand方法與激活的啓動畫面進行交互(例如更新其內容)。若要處理此方法發送的命令,請重寫SplashScreen.ProcessCommand方法。