码迷,mamicode.com
首页 > 其他好文 > 详细

今天看到的关于邮件发送进度条的写法

时间:2014-07-29 21:39:22      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   art   

 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 namespace ThreadUpdateUI 
11 { 
12     public partial class Form2 : Form 
13     { 
14         public Form2() 
15         { 
16             InitializeComponent(); 
17         } 
18 
19         private void button1_Click(object sender, EventArgs e) 
20         { 
21             try 
22             { 
23                 backgroundWorker1.RunWorkerAsync(1000); 
24             } 
25             catch (Exception es) 
26             { 
27 
28                 MessageBox.Show(es.Message); 
29             } 
30         } 
31 
32         private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
33         { 
34             BackgroundWorker bk=sender as BackgroundWorker;//把serder转化为BackgroundWorker(后台操作) 
35             int count = (int)(e.Argument);//从 DoWorkEventArgs 参数的 Argument 属性中提取该操作所需的所有参数.并保存起来. 
36             e.Result = longtime(count, bk, e);//将计算的结果赋给 DoWorkEventArgs 的 Result 属性。 
37         } 
38         Random rd = new Random();
39         long longtime(int pp,BackgroundWorker bk,DoWorkEventArgs e) 
40         { 
41             long time=0; 
42             int i = 0; 
43             while (i < pp) 
44             { 
45                 i++; 
46                 //判断是否取消后台操作 
47                 if (bk.CancellationPending) 
48                 { 
49                     e.Cancel = true; 
50                     break; 
51                 } 
52                 else 
53                 { 
54                     time += i; 
55                 } 
56                 //完成率 
57                 int view = (int)((float)i / pp * 100); 
58                 bk.ReportProgress(view);//已完成后台操作的百分完成率,范围0%-100% 
59                 System.Threading.Thread.Sleep(5);//sleep()里面的数字越少就越快 
60             } 
61             return time; 
62         } 
63 
64         private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
65         { 
66             if (e.Cancelled) 
67             { 
68                 MessageBox.Show("取消"); 
69             } 
70             else 
71             { 
72                 MessageBox.Show(e.Result.ToString()); 
73             } 
74         } 
75 
76         private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 
77         { 
78             progressBar1.Value = e.ProgressPercentage;//获取异步任务的进度百分比 
79             label1.Text = e.ProgressPercentage.ToString();//显示出来 
80         } 
81 
82         private void button2_Click(object sender, EventArgs e) 
83         { 
84             backgroundWorker1.CancelAsync(); 
85         } 
86 
87     } 
88 }

代码作者:Kiss_零@http://bbs.bccn.net/

 

先记录下来,回头继续分析

今天看到的关于邮件发送进度条的写法,布布扣,bubuko.com

今天看到的关于邮件发送进度条的写法

标签:style   blog   http   color   os   io   for   art   

原文地址:http://www.cnblogs.com/liulinws/p/3876328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!