C#进度条实现实例

C#进度条实现实例是如何操作的呢?让我们看看下面的代码:

 
 
 
  1. using System;  
  2.  
  3. using System.Collections.Generic;  
  4.  //C#进度条实现实例
  5. using System.ComponentModel;  
  6.  
  7. using System.Data;  
  8.  
  9. using System.Drawing;  
  10.  
  11. using System.Text;  
  12.  
  13. using System.Windows.Forms;  
  14.  
  15. namespace 进度条2  
  16.  //C#进度条实现实例
  17. {  
  18.  
  19. public partial class Form1 : Form  
  20.  
  21. {  
  22.  
  23. private BackgroundWorker worker =   
  24. new BackgroundWorker();  
  25.  
  26. int N = 0;  
  27.  
  28. public Form1()  
  29.  
  30. {  
  31.  
  32. InitializeComponent();  
  33.  
  34. worker.WorkerReportsProgress = true;  
  35.  
  36. worker.WorkerSupportsCancellation = true;  
  37.  
  38. worker.DoWork += new DoWorkEventHandler(DoWork);  
  39.  
  40.  
  41. worker.ProgressChanged +=  
  42.  new ProgressChangedEventHandler(ProgessChanged);    
  43.  
  44. worker.RunWorkerCompleted +=  
  45.  new RunWorkerCompletedEventHandler(CompleteWork);   
  46.  
  47. }  
  48.  
  49. public void DoWork(  
  50. object sender, DoWorkEventArgs e)  
  51.  
  52. {  
  53.  
  54. e.Result = ComputeFibonacci(worker, e);  
  55.  
  56. }  
  57.  
  58. public void ProgessChanged(  
  59. object sender, ProgressChangedEventArgs e)  
  60.  
  61. {  
  62.  
  63. progressBarX1.Value = e.ProgressPercentage;  
  64.  
  65. int V =(int)( e.ProgressPercentage / N);  
  66.  
  67. progressBarX1.Text = Convert.ToString(V) + "%";  
  68.  
  69. }  
  70.  //C#进度条实现实例
  71. public void CompleteWork(  
  72. object sender, RunWorkerCompletedEventArgs e)  
  73.  
  74. {  
  75.  
  76. progressBarX1.Text = "处理完毕!";  
  77.  
  78. }  
  79.  
  80. private int ComputeFibonacci(  
  81. object sender, DoWorkEventArgs e)  
  82.  
  83. {  
  84.  
  85. for (int i = 0; i <= 92800; i++)  
  86.  
  87. {  
  88.  
  89. if (worker.CancellationPending)  
  90.  
  91. {  
  92.  
  93. e.Cancel = true;  
  94.  
  95. return -1;  
  96.  
  97. }  
  98.  
  99. else 
  100.  
  101. {  //C#进度条实现实例
  102.  
  103. worker.ReportProgress(i);  
  104. //引发ProgessChanged事件  
  105.  
  106. }  
  107.  
  108. }  
  109.  
  110. return -1;  
  111.  
  112. }  
  113.  
  114. private void btnStart_Click(  
  115. object sender, EventArgs e)  
  116.  
  117. {  
  118.  
  119. N = 92800 / 100;  
  120.  
  121. progressBarX1.Maximum = 92800;  
  122.  
  123. worker.RunWorkerAsync();  
  124. //开始执行后台操作  
  125.  
  126. }  
  127.  
  128. private void btnPause_Click(  
  129. object sender, EventArgs e)  
  130.  
  131. {  
  132.  
  133. worker.CancelAsync();  
  134. //请求暂停后台操作  
  135.  
  136. }  
  137.  
  138.  }  //C#进度条实现实例
  139.  

C#进度条实现实例的相关内容就向你介绍到这里,希望对你了解和学习C#进度条实现有所帮助。

【编辑推荐】

  1. C#调用Windows API之参数类型浅析
  2. C#中调用Windows API之托管对象
  3. C#进度条的使用及开发浅析
  4. C#进度条使用之多线程应用浅析
  5. C#进度条实现之异步实例浅析

分享文章:C#进度条实现实例
地址分享:http://www.shufengxianlan.com/qtweb/news42/448192.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联