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

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

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

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

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

阻塞方式執行 

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

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

  1. // 顯示進度條  ,C#多線程控制進度條之長任務操作
  2. void ShowProgress( int totalStep, int currentStep )  
  3. {  
  4. _Progress.Maximum = totalStep;  
  5. _Progress.Value = currentStep;  
  6. }  
  7.  
  8. // 執行任務  
  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 ) );  

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

運行結果 

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

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

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

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

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-28 16:51:32

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-17 17:15:48

C# 進度條效果

2011-07-05 15:16:00

QT 進度條

2009-08-17 14:36:15

C#進度條實現

2009-08-17 13:56:29

C#進度條的使用

2009-08-27 14:01:41

C#進度條

2015-07-31 11:19:43

數字進度條源碼

2021-09-09 07:16:00

C#多線程開發

2009-09-04 10:42:56

C#流程控制語句

2024-08-06 14:29:37

2011-06-24 11:12:39

Qt 多線程 線程

2009-08-12 18:04:44

編寫C#多線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区在线观看你懂的 | www.日韩免费 | 超碰在线免费 | 成人在线观看免费视频 | 91精品国产欧美一区二区成人 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 亚洲综合一区二区三区 | 欧美 日本 国产 | 午夜视频一区二区 | 精品区一区二区 | 黄在线 | 九九热最新视频 | 国产日韩一区二区三免费高清 | 在线观看亚洲专区 | 中文av在线播放 | 久久免费精品 | 91大神新作在线观看 | 日韩一区二区三区在线视频 | 射欧美| 国产精品久久久久久久久久 | www狠狠干| 亚洲一区二区三区在线视频 | 色姑娘av| 日韩在线不卡视频 | 欧美美女一区二区 | 人人看人人干 | www.久| 精品久久久久久久久久 | 久久99精品久久久 | 亚洲一区二区在线视频 | 亚洲欧美成人在线 | 日韩精品一区中文字幕 | 免费网站国产 | 精品国产乱码久久久久久1区2区 | 日韩在线播放中文字幕 | 久久午夜视频 | 国产区在线免费观看 | 夜夜精品浪潮av一区二区三区 | 在线免费观看a级片 | 亚洲女人天堂网 | 一区二区三区国产好的精 |