從目前已經在專案中工作將近乙個月來的情況來看,凡是費時的操作,基本上都要用到多執行緒的等待窗體、進度提示窗體等實時顯示動態的進度資訊。而如果直接在主線程的窗體上實時更新資訊,就會造成更新太快或者太慢而出現的程序假死現象。為了緩解這些情況,本文就參考一些文章,把他們的智慧型總結於此。希望對大家有所幫助。
在winform程式開發中,計算機經常會執行一些比較耗時的任務,如大量資料的查詢操作、較為複雜的業務處理等,這些任務往往需要耗時幾秒到幾十秒鐘的時間,在這些任務執行期間winform程式窗體不再響應任何滑鼠和鍵盤事件,出現假死狀態,使用者體驗很差。
乙個比較好的解決辦法是,在這些任務執行期間在介面前端顯示乙個等待窗體,告訴使用者任務正在執行中。
窗體中有乙個picturebox控制項和兩個lable控制項,picturebox控制項的image屬性為一張動態。
1.2 提供訪問等待窗體的介面
編寫類waitformservice
1.3 使用waitformservice提供的介面
參考文章
1.飄落紙飛機,c# winform 多執行緒中建立等待窗體,2011。
沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支援與幫助,是萬萬不能的。
C winform 多執行緒中建立等待窗體
1.首先建立乙個winform窗體,可講窗體的formborderstyle屬性設定為 none 將窗體的標題欄去掉。窗體中可放乙個picturebox控制項和兩個label控制項。其中picturebox控制項存放載入等待的。乙個label控制項可放置text文字。winform 如下 using...
C winform 多執行緒中建立等待窗體
1.首先建立乙個winform窗體,可講窗體的formborderstyle屬性設定為 none 將窗體的標題欄去掉。窗體中可放乙個picturebox控制項和兩個label控制項。其中picturebox控制項存放載入等待的。乙個label控制項可放置text文字。winform 如下 using...
C 多執行緒 建立執行緒
c 中線程的建立一般是通過std thread類實現的,具體的實現方式有以下幾種 void operator int a 過載括號運算子。如果無參則為void operator 這裡有兩種方法通過成員函式建立。而這兩種方法恰好也就是靜態成員函式和非靜態成員函式的區別。靜態成員函式與物件無關,只屬於類...