轉Winform DevExpress控制元件庫(一) 使用SplashScreenManager控制元件定製程式載入頁面
SplashScreenManager控制元件:主要作用是顯示在進行耗時操作時的等待介面;
在工具箱輸入名稱SplashScreenManager檢索,然後直接拖拽到面板上便可使用;
SplashScreenManager控制元件整體屬性描述:(選中SplashScreenManager控制元件例項,開啟屬性視窗)
SplashScreenManager控制元件:主要作用是顯示在進行耗時操作時的等待介面;
位於工具箱 -> Navigation & Layout(導航欄與佈局類控制元件)目錄下;
在工具箱輸入名稱SplashScreenManager檢索,然後直接拖拽到面板上便可使用;
SplashScreenManager控制元件整體屬性描述:(選中SplashScreenManager控制元件例項,開啟屬性視窗)
藍色為常用屬性紅色為未知屬性、幾乎不會用到或很少用到的屬性、其他託管屬性、暫時不需要我們去處理的屬性
Behavior(行為) | |
Properties(屬性) | |
AllowGlowEffect | (bool)開啟發光特效(目前測試了並未看出效果) |
ClosingDelay | (int)淡入淡出效果的延遲時間(毫秒) |
UseFadeInEffect | (bool)使用淡入效果 |
UseFadeOutEffect | (bool)使用淡出效果 |
SplashForms | |
ActiveSplashFormTypeInfo | (SplashScreen)當前啟用的載入介面 |
佈局 | |
SplashFormLocation(X,Y) | (int)載入介面在螢幕上的位置 |
SplashFormStartPosition | (enum)載入介面初始位置,為Manual時上一個屬性生效 |
設計 | |
(Name) | (string)控制元件名稱,用於在程式碼中引用(唯一性) |
GenerateMember | (bool)在例項中生成成員變數 |
Modifiers | (enum)成員變數的修飾詞 |
資料 | |
(ApplicationSettings) |
|
(PropertyBinding) | 未知 |
一、新建一個載入介面:
SplashScreenManager控制元件只是作為載入介面的統一管理器,我們要使用載入介面,需要自行建立載入介面,兩種方法如下:
1、點選SplashScreenManager控制元件右上角的三角箭頭點開任務列表,然後點選Add Splash Screen,便可以建立一個SplashScreen視窗,建立完成之後可以在專案資源管理器中看到此窗體,並自動將其設定為當前啟用的載入介面,這個設定為當前啟用介面有什麼用呢,其實沒什麼用:
然後下面會有4個屬性設定,正好是對應上方屬性欄中的前四個屬性。
2、在專案資源管理器中直接建立SplashScreen視窗:
步驟:右擊專案名稱 -> 新增 -> windows窗體 -> DevExpress v15.2 Template Gallery ->Splash Screen -> Add Item
建立完成之後,點選SplashScreenManager控制元件右上角的三角箭頭點開任務列表,在Active Splash Form一欄選擇我們剛建立的SplashScreen視窗,將其手動設定為當前啟用的載入介面:
二、使用載入介面
在程式碼中使用載入介面,開啟Form1.cs(自己的主視窗類),在建構函式中加入如下程式碼:public Form1()
{
//系統資源載入
Loading();
InitializeComponent();
//載入完成
LoadingCompleted();
}
/// <summary>
/// 系統資源載入
/// </summary>
private void Loading()
{
SplashScreenManager.ShowForm(typeof(SplashScreen1));
Thread.Sleep(5000);
//載入資源
}
/// <summary>
/// 載入完成
/// </summary>
private void LoadingCompleted()
{
SplashScreenManager.CloseForm();
}
執行一下,我們便可以看到一個不錯的載入介面效果,在模擬的資源載入(睡眠5秒)之後便開啟主窗體:
詳解: 顯示載入介面的方法,如下: 1、SplashScreenManager.ShowForm(typeof(你的SplashScreen名)); 這裡的SplashScreen可以是當前場景中的任何一個SplashScreen視窗,並非一定是剛才那個設定為當前啟用視窗的屬性。 關閉載入介面的方法,如下: 2、SplashScreenManager.CloseForm(); 這個方法可以關閉當前程式裡的所有載入視窗,包括後面要說的等候視窗。
三、新建一個等候介面
SplashScreenManager控制元件只是作為等候視窗的統一管理器,我們要使用在耗時操作顯示的等候介面,需要自行建立等候介面,兩種方法如下:
1、點選SplashScreenManager控制元件右上角的三角箭頭點開任務列表,然後點選Add Wait Form,便可以建立一個WaitForm視窗,建立完成之後可以在專案資源管理器中看到此窗體,並自動將其設定為當前啟用的等候視窗,這個設定為當前啟用視窗有什麼用呢,對於等候視窗還是有用:
2、在專案資源管理器中直接建立WaitForm視窗:
步驟:右擊專案名稱 -> 新增 -> windows窗體 -> DevExpress v15.2 Template Gallery ->Progress Indicator -> Add Item
建立完成之後,點選SplashScreenManager控制元件右上角的三角箭頭點開任務列表,在Active Splash Form一欄選擇我們剛建立的WaitForm視窗,將其手動設定為當前啟用的等候介面:
四、使用等候介面
在程式碼中使用等候介面(執行一些耗時操作時這樣做是非常友好的),開啟Form1.cs(自己的主視窗類),在建構函式中加入如下程式碼: public Form1()
{
InitializeComponent();
//系統資源載入
Loading();
//載入完成
LoadingCompleted();
}
/// <summary>
/// 系統資源載入
/// </summary>
private void Loading()
{
splashScreenManager2.ShowWaitForm();
Thread.Sleep(5000);
//載入資源
}
/// <summary>
/// 載入完成
/// </summary>
private void LoadingCompleted()
{
splashScreenManager2.CloseWaitForm();
}
執行一下,我們便可以看到一個不錯的等候介面效果,在模擬的資源載入(睡眠5秒)之後便開啟主窗體(不過等候視窗不適合用在啟動時,我這裡只是做個例子哈):
詳解: 顯示等候介面的方法不同於載入介面,有兩種,如下: 1、例項法:用例項的當前啟用介面顯示(所以SplashScreenManager那個屬性Active Splash Form對於WaitForm有用,用處就是將當前例項繫結到該WaitForm) 你的SplashScreenManager例項名.ShowWaitForm(); 這裡只會顯示“你的SplashScreenManager例項名”的屬性Active Splash Form對應的WaitForm。 2、全域性法:用SplashScreenManager類顯示 SplashScreenManager.ShowForm(typeof(你的WaitForm名)); 關閉等候介面的方法,對應兩種顯示方法而不同,如下: 1、你的SplashScreenManager例項名.CloseWaitForm(); 2、SplashScreenManager.CloseForm();
結語:
好了,基本情況就是這樣了,對於載入介面以及操作等候介面說起來也就是兩個Form而已,可以自己定製很多東西,當然其實不用藉助SplashScreenManager控制元件也很好實現這兩種需求,主要就是一個顯示視窗及隱藏視窗的操作。
出處:https://www.cnblogs.com/wdd812674802/p/12893029.html