此类用法:BackgroundWorker 类 (System.ComponentModel) | Microsoft Docs

代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BackGroundWork
{
    public partial class Form1 : Form
    {

//报此BackgroundWorker声明它不报告进度。直接将workReportsProgress为true;
        public Form1()
        {
            InitializeComponent();
            backgroundWorker1.WorkerReportsProgress = true;
        }

private void button1_Click(object sender, EventArgs e)
        {
            progressBar1.Maximum = 10;
            if (!backgroundWorker1.IsBusy)
            {
                backgroundWorker1.RunWorkerAsync();
            }
        }

//此函数调用RunWorksAsync()触发
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            Random rd = new Random();
            for (int i = 0; i < 10; i++)
            {             
                int number = rd.Next(0, 10);
                backgroundWorker1.ReportProgress(i+1, number);//使用reportProgress进行数值传递 i为进度条的值 number为传递的值
                Thread.Sleep(2000);
            }           
        }

//此函数调用ReportProgress()触发
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage;
            string str = string.Format("{0}:{1}"+"\r\n", DateTime.Now.ToString("yymmddhhmmss"), e.UserState);
            textBox1.AppendText(str);
        }

//此函数在当后台操作已完成、被取消或引发异常时发生。
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            progressBar1.Value = 0;
            textBox1.AppendText("完成" + "\r\n");
        }        
    }   
}

BackgroundWorker类的使用例程相关推荐

  1. .net 2.0 BackgroundWorker类详细用法

    在WinForm中经常遇到一些费时的操作界面,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成"假死"的情况,或者报"线程间操作无 ...

  2. C BackgroundWorker类详细说明

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Back ...

  3. backgroundworker类

    作用:在单独的线程上执行操作. 命名空间:   System.ComponentModel 程序集:  System(位于 System.dll) 继承层次结构 System.Object   Sys ...

  4. 从零开始学C++之标准库类型(一):string 类简介和例程

    一.标准库string类型 string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作 ,在VC中直接F1查看 template <class Ch ...

  5. C# BackgroundWorker 详解

    C# BackgroundWorker 详解 在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题.解决这类问题的主要途径是使用多线程,启 ...

  6. 如果在BackgroundWorker运行过程中关闭窗体…

    在Windows Form应用中,BackgroundWorker 类允许您在单独的专用线程上运行操作.耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态 ...

  7. C#中的BackgroundWorker控件

    Keywords: C# .NET BackgroundWorker Source: http://txw1958.cnblogs.com/ BackgroundWorker是.NET Framewo ...

  8. c# BackgroundWorker组件介绍(属性、方法、事件)

    c# BackgroundWorker组件介绍(属性.方法.事件) 2008-07-03 16:28 在VS2005中添加了BackgroundWorker组件,该组件在多线程编程方面使用起来非常方便 ...

  9. C#在后台运行操作:BackgroundWorker的用法

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  10. BackgroundWorker学习笔记

    1 简介 BackgroundWorker 类允许您在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态. 如果您需要能进行响 ...

最新文章

  1. c 语言贪心钓鱼思路,2020届九年级中考语文复习教案:第4讲现代文阅读之概括(27页)-原创力文档...
  2. r语言和metawin_Windows下使用Rtools编译R语言包
  3. HTTP代理如何正确处理Cookie
  4. Python报错TypeError: ‘User‘ object is not iterable
  5. NodeJS解决跨域问题:Access-Control-Allow-Origin
  6. python画同心圆程序_Python Turtle:使用circle()方法绘制同心圆
  7. java jdbc dao_Java自学-JDBC DAO
  8. 小爱同学生病了,网友集体表示理解:小爱同学好好休息
  9. Spring mvc 参数类型转换
  10. 目录服务技术介绍——ADSI(五)
  11. Mybatis如何实现分页
  12. BioPython ② | 面向对象编程Object Oriented Programming
  13. php artisan tanker,Artisan 开发
  14. 【ZYNQ】裸机 PS + PL 双网口实现之 lwip 库文件修改
  15. 侏罗纪世界手游显示无法登陆到服务器,侏罗纪世界手游闪退怎么办 游戏闪退解决方法...
  16. Oracle物化视图的使用总结
  17. SVHN门牌号数据集 再生成印刷体数据集
  18. 统一了Excel和Python的神级编辑器GridStudio,安装起来确实不简单
  19. TensorFlow实战:TensorFlow中的CNN
  20. 手游客户端被破解后通过服务器对抗脱机挂---pk服务器签名规则

热门文章

  1. R语言(一):Mac系统M1芯片下安装R语言和RStudio教程,R语言入门
  2. 几近完美的手机电脑无缝共享剪贴板神器,终于被我找到了!
  3. 知了课堂 python_知了课堂 Python Flask零基础 笔记整理
  4. 高通通过adb一键进入9008端口模式
  5. CorelDRAW X7 X8 2017 2018是什么关系?
  6. springboot 使用mybatis与mybatis-generator与druid (gradle构建)
  7. H3C WAP712C 路由器设置
  8. 如何安装老版本Eclipse汉化——以2020-06为例
  9. android手机画质修改器,全机型画质修改器
  10. QCC3005芯片 Line IN 听歌的时候声音比较小