BackgroundWorker类的使用例程
此类用法: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类的使用例程相关推荐
- .net 2.0 BackgroundWorker类详细用法
在WinForm中经常遇到一些费时的操作界面,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成"假死"的情况,或者报"线程间操作无 ...
- C BackgroundWorker类详细说明
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Back ...
- backgroundworker类
作用:在单独的线程上执行操作. 命名空间: System.ComponentModel 程序集: System(位于 System.dll) 继承层次结构 System.Object Sys ...
- 从零开始学C++之标准库类型(一):string 类简介和例程
一.标准库string类型 string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作 ,在VC中直接F1查看 template <class Ch ...
- C# BackgroundWorker 详解
C# BackgroundWorker 详解 在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题.解决这类问题的主要途径是使用多线程,启 ...
- 如果在BackgroundWorker运行过程中关闭窗体…
在Windows Form应用中,BackgroundWorker 类允许您在单独的专用线程上运行操作.耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态 ...
- C#中的BackgroundWorker控件
Keywords: C# .NET BackgroundWorker Source: http://txw1958.cnblogs.com/ BackgroundWorker是.NET Framewo ...
- c# BackgroundWorker组件介绍(属性、方法、事件)
c# BackgroundWorker组件介绍(属性.方法.事件) 2008-07-03 16:28 在VS2005中添加了BackgroundWorker组件,该组件在多线程编程方面使用起来非常方便 ...
- C#在后台运行操作:BackgroundWorker的用法
在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...
- BackgroundWorker学习笔记
1 简介 BackgroundWorker 类允许您在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态. 如果您需要能进行响 ...
最新文章
- c 语言贪心钓鱼思路,2020届九年级中考语文复习教案:第4讲现代文阅读之概括(27页)-原创力文档...
- r语言和metawin_Windows下使用Rtools编译R语言包
- HTTP代理如何正确处理Cookie
- Python报错TypeError: ‘User‘ object is not iterable
- NodeJS解决跨域问题:Access-Control-Allow-Origin
- python画同心圆程序_Python Turtle:使用circle()方法绘制同心圆
- java jdbc dao_Java自学-JDBC DAO
- 小爱同学生病了,网友集体表示理解:小爱同学好好休息
- Spring mvc 参数类型转换
- 目录服务技术介绍——ADSI(五)
- Mybatis如何实现分页
- BioPython ② | 面向对象编程Object Oriented Programming
- php artisan tanker,Artisan 开发
- 【ZYNQ】裸机 PS + PL 双网口实现之 lwip 库文件修改
- 侏罗纪世界手游显示无法登陆到服务器,侏罗纪世界手游闪退怎么办 游戏闪退解决方法...
- Oracle物化视图的使用总结
- SVHN门牌号数据集 再生成印刷体数据集
- 统一了Excel和Python的神级编辑器GridStudio,安装起来确实不简单
- TensorFlow实战:TensorFlow中的CNN
- 手游客户端被破解后通过服务器对抗脱机挂---pk服务器签名规则
热门文章
- R语言(一):Mac系统M1芯片下安装R语言和RStudio教程,R语言入门
- 几近完美的手机电脑无缝共享剪贴板神器,终于被我找到了!
- 知了课堂 python_知了课堂 Python Flask零基础 笔记整理
- 高通通过adb一键进入9008端口模式
- CorelDRAW X7 X8 2017 2018是什么关系?
- springboot 使用mybatis与mybatis-generator与druid (gradle构建)
- H3C WAP712C 路由器设置
- 如何安装老版本Eclipse汉化——以2020-06为例
- android手机画质修改器,全机型画质修改器
- QCC3005芯片 Line IN 听歌的时候声音比较小