成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#多線程控制進度條之長任務操作

開發(fā) 后端
C#多線程控制進度條之長任務操作具體的是如何的呢?C#多線程控制進度條之長任務操作需要注意什么呢?那么本文就向你介紹相關的內容。

C#多線程控制進度條之長任務操作

許多種類的應用程序都需要長時間操作,比如:執(zhí)行一個打印任務,請求一個 Web Service 調用等。用戶在這種情況下一般會去轉移做其他事情來等待任務的完成,同時還希望隨時可以監(jiān)控任務的執(zhí)行進度。

阻塞方式執(zhí)行 

C#多線程控制進度條之長任務操作圖1

下面的代碼片斷示例了當長任務執(zhí)行時用戶界面是如何被更新的。

  1. // 顯示進度條  ,C#多線程控制進度條之長任務操作
  2. void ShowProgress( int totalStep, int currentStep )  
  3. {  
  4. _Progress.Maximum = totalStep;  
  5. _Progress.Value = currentStep;  
  6. }  
  7.  
  8. // 執(zhí)行任務  
  9. void RunTask( int seconds )  
  10. {  
  11. // 每 1 / 4 秒 顯示進度一次  
  12. forint i = 0; i < seconds * 4; i++ )  
  13. {  
  14. Thread.Sleep( 250 );  
  15.  
  16. // 顯示進度條 ,C#多線程控制進度條之長任務操作 
  17. ShowProgress( seconds * 4, i + 1 );  
  18. }  
  19. }  
  20.  
  21. private void _btnRun_Click(   
  22.  
  23. object sender, System.EventArgs e )  
  24. {  
  25. RunTask( Convert.ToInt32( _txtSecond.Value ) );  

當我們運行上面的程序,在整個長任務的過程中,沒有出現任何問題。這樣就真的沒有問題了嗎?當我們切換應用程序去做其他事情后再切換回來,問題就發(fā)生了!主窗體就會出現如下情況:

運行結果 

C#多線程控制進度條之長任務操作圖2

這個問題當然會發(fā)生,因為我們現在的應用程序是單線程的,因此,當線程執(zhí)行長任務時,它同時也就不能重畫用戶界面了。

為什么在我們切換應用程序后,問題才發(fā)生呢?這是因為當你切換當前應用程序到后臺再切換回前臺時,我們需要重畫整個用戶界面。但是應用程序正在執(zhí)行長任務,根本沒有時間處理用戶界面的重畫,問題就會發(fā)生。

如何解決問題呢?我們需要將長任務放在后臺運行,把用戶界面線程解放出來,因此我們需要另外一個線程。

C#多線程控制進度條之長任務操作的基本情況就向你介紹到這里,希望對你學習和了解C#多線程控制進度條之長任務操作有所幫助。

【編輯推薦】

  1. C#進度條使用之多線程應用淺析
  2. C#進度條實現之異步實例淺析
  3. C#進度條實現實例
  4. C#進度條之控制臺顯示淺析
  5. C# WinForm進度條實現淺析
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-17 16:41:03

C#多線程控制

2009-08-17 16:56:51

C#多線程控制進度條

2009-08-17 16:49:46

C#多線程控制

2009-08-17 14:08:33

C#進度條使用

2009-08-17 15:05:41

C#進度條

2009-08-17 14:41:47

C#進度條實現

2009-08-18 09:49:00

C# listview

2009-08-17 15:48:47

C# WinForm進

2009-08-28 16:51:32

C#線程控制

2011-07-05 15:16:00

QT 進度條

2009-08-17 17:15:48

C# 進度條效果

2009-08-17 14:36:15

C#進度條實現

2009-08-17 13:56:29

C#進度條的使用

2015-07-31 11:19:43

數字進度條源碼

2009-08-27 14:01:41

C#進度條

2021-09-09 07:16:00

C#多線程開發(fā)

2024-08-06 14:29:37

2009-09-04 10:42:56

C#流程控制語句

2009-08-12 18:04:44

編寫C#多線程

2011-06-24 11:12:39

Qt 多線程 線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品福利在线视频 | 综合久久亚洲 | 免费一看一级毛片 | 国产激情一区二区三区 | 亚洲国产一区二区三区在线观看 | 91精品国产一二三 | 国产精品一区一区三区 | 美女天天操 | 国内精品久久久久久久影视简单 | 国产精品女人久久久 | 国产乱码精品一区二区三区忘忧草 | 国产视频三区 | 久久精品一区二区视频 | 在线永久看片免费的视频 | 天天射天天干 | 欧美一区精品 | 成人高清在线 | 日韩在线不卡 | 亚洲综合在线播放 | 久久一 | 国产午夜精品视频 | 久久久久电影 | 成年女人免费v片 | 99热这里都是精品 | 亚洲精品欧美 | 一区二区三区福利视频 | 国产精品免费av | 一级a爱片久久毛片 | 日本久久网| 精品久久香蕉国产线看观看亚洲 | 网站黄色在线免费观看 | 国产精品综合色区在线观看 | 国产精品永久免费 | 午夜tv免费观看 | 欧美视频免费 | 久久精品久久久久久 | 91精品国产一区二区三区动漫 | 北条麻妃国产九九九精品小说 | 日本a∨精品中文字幕在线 亚洲91视频 | 91久久国产综合久久 | 久久久久久色 |