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

 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

时间: 2024-10-10 21:43:59

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

进度条的写法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点:1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)和

AJAX大文件切割上传以及带进度条。

分块传输的原理就是利用HTML5新增的文件slice截取函数. 代码如下: html: <input id="f" type="file" name="part" onchange="writeFile()"> JS: 核心部分已经加粗显示了,其他部分不用看,因为实现的方式有很多种,不一定要按照我的方式去写,但是核心是不会变的. var writeFile = function(){ var temp = null

Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理

解决WebView的定位功能.视频全屏播放.下载功能.页面Url的处理.进度条处理 事先说明: 定位功能在安卓6.0需要用户手动确认权限后才能使用 若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问 详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob) 如果对内容不理解的话,可参考最后的整个类的代码 如果对BaseActivity这个抽象类不理解的话,可以查看下面一篇文章对BaseActivity的介绍 步骤一:webv

【转】24. android dialog ——ProgressDialog 进度条对话框详解

原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog,如下: [java] view plaincopy //this表示该对话框是针对当前Activity的 progressDialog = new ProgressDialog(this); //设置最大值为100 progressDialog.setMax(100); //设置进度条风格STYL

【转】Android UI系列-----时间、日期、Toasts和进度条Dialog

原文网址:http://www.cnblogs.com/xiaoluo501395377/p/3421727.html 您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: [email protected] / [email protected] 如果需要转载,请注明出处,谢谢!! 本篇随笔将继续学

Android学习笔记:进度条ProgressBar的使用以及与AsyncTask的配合使用

ProgressBar时android用于显示进度的组件.当执行一个比较耗时的操作(如io操作.网络操作等),为了避免界面没有变化让用户体验降低,提供一个进度条可以让用户知道程序还在运行. 一.ProgressBar有如下几种常见样式 1.默认进度条的样式为圆圈(为中等大小的圆圈) <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" />

安卓高级组件-----进度条

进度条组件是安卓重要组件之一.当后台某个程序执行时,前台进度条动态显示了程序执行进度的百分比.是耗时较长的程序让用户觉得在自己的掌控之中,提高程序的友好型. 安卓支支持几种风格的进度条,能通过style属性呢设置进度条风格,该属性如下: @android:style/Widget.ProgressBar.Horizontal    水平进度条 @android:style/Widget.ProgressBar.Inverse        普通环形进度条 @android:style/Widge

Android 学习心得(6)——ProgressBar(进度条)

没什么技术含量就是对系统进度条的简单应用 贴上代码 1 package cn.bwl.progressbar; 2 3 import android.support.v7.app.ActionBarActivity; 4 import android.view.View; 5 import android.widget.Button; 6 import android.widget.ProgressBar; 7 import android.widget.TextView; 8 import a