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