啟動(dòng)界面
啟動(dòng)界面管理器允許創(chuàng)建不同的啟動(dòng)界面,下圖是一個(gè)啟動(dòng)界面,您可以在設(shè)計(jì)時(shí)創(chuàng)建和定制。
主要特點(diǎn)包括:
- Non-skin-dependent外觀。
- 設(shè)計(jì)定制。
- 在主表單啟動(dòng)時(shí)自動(dòng)顯示和關(guān)閉。
- 使用命令與啟動(dòng)表單進(jìn)行交互。
在設(shè)計(jì)時(shí)創(chuàng)建和自定義啟動(dòng)界面
將SplashScreenManager組件拖放到表單上,右鍵單擊Visual Studio托盤中的組件,并選擇Add Splash Screen。
SplashScreenManager為項(xiàng)目添加了一個(gè)新的SplashScreen表單。
雙擊 SplashScreen1.cs (SplashScreen1.vb)文件,打開設(shè)計(jì)時(shí)編輯器。
您可以在Splash Screen中更改控件的布局,刪除或添加自定義控件、更改默認(rèn)標(biāo)簽和圖像等。
注意:如果需要使用自定義類擴(kuò)展SplashScreen1.cs / .vb文件,請(qǐng)確保在您的自定義類聲明之前,封裝Splash Screen的類在這些文件中排在第一位。
顯示和關(guān)閉啟動(dòng)界面自動(dòng)在主表單啟動(dòng)
要在主表單啟動(dòng)時(shí)顯示創(chuàng)建的啟動(dòng)界面,請(qǐng)確保將SplashScreenManager的激活啟動(dòng)表單設(shè)置為啟動(dòng)界面,打開SplashScreenManager的智能標(biāo)記,然后檢查Active Splash Form設(shè)置。
或者,您可以檢查屬性網(wǎng)格中的SplashScreenManager.ActiveSplashFormTypeInfo設(shè)置。
啟動(dòng)界面管理器會(huì)在主表單啟動(dòng)時(shí)自動(dòng)顯示激活的啟動(dòng)界面,并在主表單完全初始化并顯示時(shí)關(guān)閉它。
提示:您可以通過(guò)以下方式與顯示的SplashScreen通信:
- 如果使用SplashScreenManager實(shí)例顯示SplashScreen,請(qǐng)使用SplashScreenManager實(shí)例的方法。
- 如果您使用靜態(tài)方法顯示SplashScreen,請(qǐng)使用SplashScreenManager類的靜態(tài)方法。
啟動(dòng)界面設(shè)置
在自動(dòng)模式下,您可以從SplashScreenManager組件的屬性中訪問和自定義啟動(dòng)界面設(shè)置。
DPI設(shè)置
在v20.2+中,啟動(dòng)界面在應(yīng)用程序啟動(dòng)時(shí)根據(jù)當(dāng)前DPI設(shè)置(參見項(xiàng)目設(shè)置)自動(dòng)縮放。
在以前的版本中,如果您使用DevExpress表單作為主應(yīng)用程序表單,則會(huì)自動(dòng)應(yīng)用DPI設(shè)置,但是如果在主表單之前顯示啟動(dòng)界面,則不會(huì)自動(dòng)應(yīng)用這些設(shè)置。要考慮DPI設(shè)置,請(qǐng)?jiān)趩?dòng)界面顯示之前調(diào)用WindowsFormsSettings.LoadApplicationSettings方法(例如,在啟動(dòng)界面的構(gòu)造函數(shù)中)。
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
在代碼中顯示和關(guān)閉啟動(dòng)界面
在設(shè)計(jì)時(shí)在Visual Studio中創(chuàng)建啟動(dòng)界面,您可以使用以下方法之一來(lái)完成此操作:
- 使用啟動(dòng)界面管理器組件(見上文)。
- 使用模板庫(kù)。
提示:如果您的表單包含一個(gè)啟動(dòng)界面管理器組件,確保它的“Active Splash form”在智能標(biāo)簽菜單中被設(shè)置為“(None)”。
要顯示和關(guān)閉現(xiàn)有的啟動(dòng)界面,使用靜態(tài) SplashScreenManager.ShowForm和SplashScreenManager.CloseForm方法。
C#:
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(typeof(SplashScreen1)); //... DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
VB.NET :
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(typeof(SplashScreen1)); //... DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
啟動(dòng)界面設(shè)置
SplashScreenManager.ShowForm方法重載允許您指定表單的位置,設(shè)置顯示表單的延遲,啟用漸入和漸出效果等。
提示:如果啟用遠(yuǎn)程連接優(yōu)化模式,則禁用漸入和漸出效果
要在所有其他表單之上顯示啟動(dòng)屏幕,請(qǐng)啟用SplashScreen.TopMost屬性。
動(dòng)態(tài)更新啟動(dòng)界面
啟動(dòng)界面顯示在一個(gè)單獨(dú)的線程中,您可以使用SplashScreenManager.SendCommand方法與活動(dòng)的啟動(dòng)界面進(jìn)行交互(例如,更新其內(nèi)容)。要處理由該方法發(fā)送的命令,請(qǐng)覆蓋SplashScreen.ProcessCommand方法。