国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

C#進度條實現(xiàn)之異步實例淺析

開發(fā) 后端
C#進度條實現(xiàn)之異步實例是如何實現(xiàn)的呢?C#進度條實現(xiàn)之異步實例需要注意的是什么呢?那么本文就向你介紹C#進度條實現(xiàn)之異步實例的具體事宜。

C#進度條實現(xiàn)之異步實例是如何展示C#進度條實現(xiàn)的呢?讓我們來看看:

C#進度條實現(xiàn)之異步實例進度條頁面:

  1. //====================================  
  2. // Microsoft patterns & practices  
  3. // CompositeUI Application Block  
  4. //====================================  
  5. // Copyright ?Microsoft Corporation.    
  6. //All rights reserved.  
  7. // THIS CODE AND INFORMATION IS   
  8. //PROVIDED "AS IS" WITHOUT WARRANTY  
  9. // OF ANY KIND, EITHER EXPRESSED OR   
  10. //IMPLIED, INCLUDING BUT NOT  
  11. // LIMITED TO THE IMPLIED WARRANTIES  
  12. // OF MERCHANTABILITY AND  
  13. // FITNESS FOR A PARTICULAR PURPOSE.  
  14. //=====================================  
  15.  
  16. using System;  
  17. using System.Collections.Generic;  
  18. using System.ComponentModel;  
  19. using System.Data;  
  20. using System.Drawing;  
  21. using System.Text;  
  22. using System.Windows.Forms;  
  23.  
  24.  
  25. namespace BackgroudWokerUI  
  26. {  
  27. public partial class ProgressForm : Form  
  28. {  
  29. public ProgressForm()  
  30. {  
  31. InitializeComponent();  
  32. }  
  33.  
  34. //工作完成后執(zhí)行的事件  
  35. public void OnProcessCompleted(object sender, EventArgs e)  
  36. {  
  37. this.Close();  
  38. }  
  39.  
  40. //工作中執(zhí)行進度更新  ,C#進度條實現(xiàn)之異步實例
  41. public void OnProgressChanged(
  42. object sender, ProgressChangedEventArgs e)  
  43. {  
  44. progressWork.Value = e.ProgressPercentage;  
  45. }  
  46.  
  47. private void btnClose_Click(object sender, EventArgs e)  
  48. {  
  49. Close();  
  50. }  
  51. }  

C#進度條實現(xiàn)之異步實例主頁面:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using System.Threading;  
  9.  
  10. //Note You must be careful not to manipulate any user-interface objects   
  11. //in your System.ComponentModel.BackgroundWorker.DoWork event handler.   
  12. //Instead, communicate to the user interface through the   
  13. //System.ComponentModel.BackgroundWorker.ProgressChanged and   
  14. //System.ComponentModel.BackgroundWorker.RunWorkerCompleted events.  
  15.  
  16. namespace BackgroudWokerUI  
  17. {  
  18. public partial class MainForm : Form  
  19. {  
  20. //BindingList is useful list for UI   
  21. private IList<string> leftList = new BindingList<string>();  
  22. private IList<string> rightList = new BindingList<string>();  
  23.  
  24. private BackgroundWorker worker = null;  
  25.  
  26. public MainForm()  
  27. {  
  28. InitializeComponent();  
  29. //Databinding here  
  30. listBox1.DataSource = leftList;  
  31. listBox2.DataSource = rightList;  
  32. }  
  33.  
  34. private void addButton_Click(object sender, EventArgs e)  
  35. {  
  36. if (textBox.Text.Length != 0)  
  37. {  
  38. leftList.Add(textBox.Text);  
  39. textBox.Text = "";  
  40. textBox.Focus();  
  41. }  
  42. }  
  43.  
  44. private void moveButton_Click(object sender, EventArgs e)  
  45. {  
  46. //顯示進度條  ,C#進度條實現(xiàn)之異步實例
  47. ProgressForm progressForm = new ProgressForm();  
  48. progressForm.Show();  
  49.  
  50. // Prepare the background worker   
  51. //for asynchronous prime number calculation  
  52. //準備進度條的記數(shù)  
  53. worker= new BackgroundWorker();  
  54. // Specify that the background   
  55. //worker provides progress notifications    
  56. //指定提供進度通知  
  57. worker.WorkerReportsProgress = true;  
  58. // Specify that the background worker supports cancellation  
  59. //提供中斷功能  
  60. worker.WorkerSupportsCancellation = true;  
  61. // The DoWork event handler is the main   
  62. //work function of the background thread  
  63. //線程的主要功能是處理事件  
  64. //開啟線程執(zhí)行工作  ,C#進度條實現(xiàn)之異步實例
  65. worker.DoWork += new DoWorkEventHandler(worker_DoWork);  
  66. // Specify the function to use to handle progress  
  67. //指定使用的功能來處理進度  
  68. worker.ProgressChanged +=   
  69. new ProgressChangedEventHandler(worker_ProgressChanged);  
  70. worker.ProgressChanged +=   
  71. new ProgressChangedEventHandler(progressForm.OnProgressChanged);  
  72. // Specify the function to run when the   
  73. //background worker finishes  
  74. // There are three conditions possible   
  75. //that should be handled in this function:  
  76. // 1. The work completed successfully  
  77. // 2. The work aborted with errors  
  78. // 3. The user cancelled the process  
  79. //進度條結束完成工作  
  80. //1.工作完成  
  81. //2.工作錯誤異常  
  82. //3.取消工作  
  83. worker.RunWorkerCompleted +=   
  84. new RunWorkerCompletedEventHandler(  
  85. worker_RunWorkerCompleted);  
  86. worker.RunWorkerCompleted+=  
  87. new RunWorkerCompletedEventHandler(  
  88. progressForm.OnProcessCompleted);  
  89.    
  90. //If your background operation requires a parameter,   
  91. //call System.ComponentModel.BackgroundWorker.RunWorkerAsync   
  92. //with your parameter. Inside   
  93. //the System.ComponentModel.BackgroundWorker.DoWork   
  94. //event handler, you can extract the parameter from the   
  95. //System.ComponentModel.DoWorkEventArgs.Argument property.  
  96. //如果進度條需要參數(shù)  
  97. //調(diào)用System.ComponentModel.BackgroundWorker.RunWorkerAsync  
  98. //傳入你的參數(shù)至System.ComponentModel.BackgroundWorker.DoWork   
  99. //提取參數(shù)  
  100. //System.ComponentModel.DoWorkEventArgs.Argument   
  101. worker.RunWorkerAsync(leftList);  
  102. }  
  103.  
  104. //單線程執(zhí)行工作  
  105. private void worker_DoWork(
  106. object sender, DoWorkEventArgs e)  
  107. {  
  108. MoveList((BackgroundWorker)sender,e);  
  109. }  
  110.  
  111. //進行轉移工作  
  112. private void MoveList(
  113. BackgroundWorker worker,DoWorkEventArgs e)  
  114. {  
  115. IList<string> list = e.Argument as IList<string>;  
  116.  
  117. for (int i = 0; i < list.Count; i++)  
  118. {  
  119. // Check for cancellation  
  120. //檢查取消  
  121. if (worker.CancellationPending)  
  122. {  
  123. e.Cancel = true;  
  124. break;  
  125. }  
  126. else 
  127. {  
  128. // This will be handled in the correct thread thanks to the   
  129. // internals of BackgroundWroker and AsyncOperation  
  130. worker.ReportProgress((i + 1) * (100 / list.Count), list[i]);  
  131. // Simulate some time consuming proccess.  
  132. //線程休眠  
  133. Thread.Sleep(500);  
  134. }  
  135. }  
  136. }  
  137. //添加數(shù)據(jù)至右邊listBox  
  138. private void worker_ProgressChanged(  
  139. object sender, ProgressChangedEventArgs e)  
  140. {  
  141. //Add string to the right listBox  
  142. rightList.Add(e.UserState as string);  
  143. }  
  144.  //C#進度條實現(xiàn)之異步實例
  145. //工作完成狀態(tài)  
  146. private void worker_RunWorkerCompleted(  
  147. object sender, RunWorkerCompletedEventArgs e)  
  148. {  
  149. if (e.Cancelled)  
  150. {  
  151. label.Text = "Cancelled!取消";  
  152. }  
  153. else if (e.Error != null)  
  154. {  
  155. label.Text = "Error!異常";  
  156. }  
  157. else 
  158. {  
  159. label.Text = "Success!完成";  
  160. leftList.Clear();  
  161. }  
  162. }  
  163. //取消中  
  164. private void cancelButton_Click(  
  165. object sender, EventArgs e)  
  166. {  
  167. if (worker.IsBusy)  
  168. {  
  169. label.Text = "Cancelling...";  
  170. //掛起進程  
  171. worker.CancelAsync();  
  172. }  
  173. }  
  174. //返回操作  
  175. private void moveBackButton_Click(  
  176. object sender, EventArgs e)  
  177. {  
  178. foreach (string str in rightList)  
  179. {  
  180. leftList.Add(str);  
  181. }  
  182. rightList.Clear();  
  183. }  
  184. }  

C#進度條實現(xiàn)之異步實例的相關內(nèi)容就向你介紹到這里,希望對你了解和學習C#進度條實現(xiàn)有所幫助。

【編輯推薦】

  1. C#調(diào)用Windows API之調(diào)用格式淺析
  2. C#調(diào)用Windows API之參數(shù)類型淺析
  3. C#中調(diào)用Windows API之托管對象
  4. C#進度條的使用及開發(fā)淺析
  5. C#進度條使用之多線程應用淺析
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-17 15:48:47

C# WinForm進

2009-08-17 14:41:47

C#進度條實現(xiàn)

2009-08-18 09:49:00

C# listview

2009-08-17 15:05:41

C#進度條

2009-08-17 17:15:48

C# 進度條效果

2009-08-17 13:56:29

C#進度條的使用

2009-08-17 16:49:46

C#多線程控制

2009-08-17 14:08:33

C#進度條使用

2009-08-17 16:41:03

C#多線程控制

2011-07-05 15:16:00

QT 進度條

2009-08-27 14:01:41

C#進度條

2009-08-21 09:20:44

C#異步套接字

2009-06-06 18:54:02

JSP編程進度條

2009-08-17 13:34:02

C#異步操作

2024-08-06 14:29:37

2009-08-21 11:24:16

C#異步調(diào)用

2009-08-21 10:13:02

C#異步初步

2015-07-31 11:19:43

數(shù)字進度條源碼

2009-08-27 13:30:11

C# interfac

2009-08-17 16:29:56

C#多線程控制
點贊
收藏

51CTO技術棧公眾號

综合在线一区| 欧美日韩加勒比精品一区| 在线看片不卡| 欧美日韩国产成人| 肉大捧一出免费观看网站在线播放| 日韩高清影视在线观看| 成人18视频在线播放| 亚洲欧美激情精品一区二区| 成人在线免费观看| 国产手机视频一区二区| 国产日本欧美视频| 国产精品亚洲片在线播放| 亚洲国产精品天堂| 不卡视频一区二区三区| 亚洲宅男一区| 在线亚洲欧美| 日韩二区三区在线| 日本福利视频一区| 成人精品一区| 国产精品678| 伊人久久青青草| 中文字幕综合网| 四虎成人在线视频| 国产精品免费av| 亚洲一区制服诱惑| 欧美色就是色| 91精品综合久久久久久| 日本福利片在线| 麻豆国产一区二区| 欧洲精品在线一区| 一区二区三区四区高清视频 | 亚洲激情一区二区| 葵司免费一区二区三区四区五区| 中文字幕日韩av电影| 成人黄色免费短视频| 在线日韩欧美视频| 一区二区视频| 国产精品久久久久久亚洲影视| 成人影视亚洲图片在线| 国产精品美女久久久久av福利| 亚洲一区二区三区高清不卡| 久久久久久欧美精品色一二三四| 手机精品视频在线观看| 狠狠精品干练久久久无码中文字幕| 久久综合另类图片小说| 在线电影院国产精品| 能看的毛片网站| 综合亚洲深深色噜噜狠狠网站| 亚洲kkk444kkk在线观看| 99久久精品国产一区二区三区| 99精品视频在线看| 亚洲激情综合网| 午夜视频成人| 一区二区三区久久精品| 丝袜美腿综合| 精品伦理一区二区三区| 国产福利91精品一区二区三区| 午夜伦伦电影理论片费看| 久久精品久久精品| 亚洲人成色77777| 亚洲成人av一区二区三区| 在线h片观看| 久久中国妇女中文字幕| 91精品二区| 欧美亚洲在线观看| 亚洲成av在线| 日本免费一区二区三区视频观看| 不卡av播放| 欧美网站在线观看| 第一福利在线视频| 欧美激情亚洲自拍| 亚洲久久视频| 亚洲色图久久久| 91精品婷婷国产综合久久竹菊| 日韩不卡在线| 91久久久久久久久| 成人综合在线观看| 亚欧洲精品在线视频免费观看| 青青草97国产精品麻豆| 亚洲春色在线视频| 综合久久久久久久| ****av在线网毛片| 91精品国产综合久久久久| 国产欧美88| 精品久久久久久一区| 欧美国产综合色视频| 欧美6一10sex性hd| 国产一区二区在线播放| av资源站一区| av中文字幕在线观看| 高跟丝袜一区二区三区| 成人国产精品一区二区免费麻豆| 亚洲综合中文字幕在线观看| 久久久www成人免费毛片麻豆| 日韩电影免费观看| 91精品在线观看入口| 91久久精品无嫩草影院| 久久五月天综合| 国产欧美日韩一区二区三区在线| www.这里只有精品| 国产欧美一区二区三区在线老狼| 毛片在线看片| 欧美一级二级三级蜜桃| 国产毛片一区二区三区| 成人久久久久久久久| 精品国产乱码久久久久久夜甘婷婷| 日韩系列欧美系列| 动漫3d精品一区二区三区| 国产免费观看久久| 夜鲁夜鲁夜鲁视频在线播放| 国产精品美女黄网| 五月激情丁香一区二区三区| 青青国产在线| 欧美重口另类videos人妖| 亚洲宅男一区| 欧美激情国产精品日韩| 亚洲免费av网址| 日韩精品亚洲一区| 三级在线免费观看| 7777精品伊人久久久大香线蕉经典版下载| 日韩母乳在线| 超碰超碰在线观看| 久久综合久中文字幕青草| 国产成人精品免费一区二区| 性欧美videossex精品| 亚洲欧洲在线免费| 精品综合免费视频观看| 国产真人做爰毛片视频直播 | 免费成人在线网站| 国产精品成人久久电影| 欧美一级二级在线观看| 亚洲国产导航| 国产网站在线免费观看| 精品呦交小u女在线| 老司机亚洲精品一区二区| 热久久免费视频精品| 久久嫩草精品久久久精品一| 成人国产精品入口免费视频| av免费观看国产| 久久久av电影| 欧美激情一区二区三区四区| jazzjazz国产精品麻豆| 成人毛片免费在线观看| 奇门遁甲1982国语版免费观看高清| 国产精品夫妻自拍| 精品久久久亚洲| 韩国三级av在线免费观看| 好看的日韩精品| 欧美大片在线观看一区二区| 国产麻豆午夜三级精品| 国产精品一区二区三区av| 天天综合天天操| 91精品国产综合久久小美女| 国产日韩精品视频一区二区三区| 肉肉视频在线观看| 国产一区二区三区乱码| 性欧美xxxx视频在线观看| 亚洲一区免费| 2020日本在线视频中文字幕| 黄色一级大片免费| 欧美日韩国产成人在线| 洋洋成人永久网站入口| 亚洲小少妇裸体bbw| www.av中文字幕| 欧美日韩成人综合天天影院| 日本不卡在线视频| 四虎国产精品免费久久| 97影院理论午夜| 国产经典一区二区三区| 亚洲成人久久网| 99久久夜色精品国产亚洲1000部 | **欧美大码日韩| 欧美va天堂| 欧美gv在线| 国产日韩视频在线观看| 欧美日韩一区二区三区视频 | 亚洲欧美另类在线| 亚洲激情影院| 日韩护士脚交太爽了| 探花国产精品| 亚洲在线视频一区二区| 91国内在线视频| 91精品国产综合久久久久| 久久影院午夜片一区| 黄色欧美成人| 欧美二区观看| 最新97超碰在线| 无码少妇一区二区三区芒果| 99久久精品无码一区二区毛片| 色综合影院在线| 黄色小说综合网站| 国产精品17p| 日本三级免费观看| http;//www.99re视频| 美女av一区二区三区| 91精品国产综合久久久久久漫画| 久久亚洲精品国产精品紫薇| 国产精品观看| 亚洲精品一二三**| 天堂成人av|