轉帖|使用教程|編輯:龔雪|2023-10-13 09:39:14.390|閱讀 118 次
概述:本文主要介紹在進行WinForm界面開發時,如何使用SplashScreen控件來提高應用程序的用戶體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
我們在開發桌面應用程序的時候,由于程序啟動比較慢,往往為了提高用戶的體驗,增加一個閃屏,也就是SplashScreen,好處有:
PS:給大家推薦一個C#開發可以用到的界面組件——DevExpress WinForms,它能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
DevExpress技術交流群9:909157416 歡迎一起進群討論
本人在開發的共享軟件中,對于啟動比較慢的程序,也傾向于引入這個控件來展示下,先看看軟件啟動的時候的效果:
中間的那些文字“正在展示相關的內容”可以根據加載的進度顯示不同的內容,當然最好簡單扼要了,其他的內容你也可以視需要做相應變化,因為這個是一個Form,你想改變什么就改變什么的。
看看閃屏代碼如何使用先,首先我們在入口的Main函數中開始,看看代碼就知道:
public class Portal { public static GlobalControl gc = new GlobalControl(); /// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //登陸界面 Logon dlg = new Logon(); dlg.StartPosition = FormStartPosition.CenterScreen; if (DialogResult.OK == dlg.ShowDialog()) { if (dlg.bLogin) { SplashScreen.Splasher.Show(typeof(SplashScreen.frmSplash)); gc.MainDialog = new MainForm(); gc.MainDialog.StartPosition = FormStartPosition.CenterScreen; Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); Application.Run(gc.MainDialog); } } dlg.Dispose(); } private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs ex) { LogHelper.Error(ex.Exception); string message = string.Format("{0}\r\n操作發生錯誤,您需要退出系統么?", ex.Exception.Message); if (DialogResult.Yes == MessageUtil.ShowYesNoAndError(message)) { Application.Exit(); } } }
上面中最關鍵的代碼是:SplashScreen.Splasher.Show(typeof(SplashScreen.frmSplash));
之所以貼出全部的代碼,也是供大家參考如何啟動登陸窗口并運行主窗體程序的,上面的GlobalControl類是一個公共類,用來放置一些全局變量或者通用操作的函數。Application_ThreadException是用來在程序運行出錯的時候,友好提示一下用戶,是否退出,否則有一些莫名其妙的錯誤,程序沒有提示就馬上退出的問題,扯遠了,言歸正傳,還是說說如何使用閃屏的功能吧。
上面開啟了閃屏的功能后,那么我們可能就要在程序中,根據不同的加載進度顯示不同的內容了,看看是如何做到的。
記得在MainForm窗體的構造函數中添加相應的閃屏操作代碼,如下所示。
public MainForm() { InitializeComponent(); SplashScreen.Splasher.Status = "正在展示相關的內容"; System.Threading.Thread.Sleep(100); ..//此處省略部分加載耗時的代碼 SplashScreen.Splasher.Status = "初始化完畢"; System.Threading.Thread.Sleep(50); SplashScreen.Splasher.Close(); }
控件的使用代碼就這么多了,其他的就是封裝好的控件部分內容了,下面打包放上來,給大家參考使用,源碼級的哦,下載了記得頂一下。
提示:控件的背景圖片可能不能正常顯示,您自己弄一個圖片附上去就可以了。
本文轉載自:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: