backgroundworker(c#backgroundworker怎么终止)
本文目录
- c#backgroundworker怎么终止
- winform怎么使用后台处理控件backgroundworker
- backgroundworker的使用和与thread的区别
- 如何使用backgroundWorker进行异步操作
c#backgroundworker怎么终止
终止BackgroundWorker,其实就是取消正在运行的后台操作。为此,执行以下步骤:
1)首先要把BackgroundWorker.WorkerSupportsCancellation属性的值设置为true
2)接着调用CancelAsync()方法
3)检查BackgroundWorker.CancellationPending 属性,判断后台异步操作是否被真正取消。
======
终止后台操作之所以这么繁琐,是因为后台操作是以异步方式运行在后台线程上的。
winform怎么使用后台处理控件backgroundworker
方法/步骤
1
在winform项目中,打开工具箱,找到backgroundworker控件并拖入窗体中,这时窗体下方出现backgroundworker实例
2
右击backgroundworker实例,在菜单中选择“属性”
3
在属性窗口中,点击闪电按钮切换到控件的事件列表
4
分别在DoWork 和RunWorkerCompleted的属性处双击来生成绑定事件,可以看到后台自动生成了事件签名
5
为了调用backgroundworker控件,在窗口中拖入一个按钮。另外,拖入一个label来显示结果
6
双击按钮,进入后台代码。在单击事件写上测试代码,如下图所示。其中,
label1.Text = “start“;表明后台处理开始
backgroundWorker1.RunWorkerAsync();调用backgroundWorker1
7
为了模拟复杂费时间的处理,在Dowork事件中加入如下代码,代码含义是:循环5次,每次暂停1秒钟,总共暂停5秒钟。
for (int i = 0; i 《 5; i++)
{
Thread.Sleep(1000);
}
在RunWorkerCompleted事件中加入如下代码,代码含义是:复杂费时间的处理完成后,给出提示。
label1.Text = “finish“;
8
运行工程,测试效果。点击按钮,label的内容变成start,这时等上5秒钟,label的内容变成finish,测试成功
http://jingyan.baidu.com/article/86f4a73e7c7b5537d7526976.html
backgroundworker的使用和与thread的区别
backgroundworker与thread的区别如下:
1、BackgroundWorker在内部封装了线程。所以你创建了一个BackgroundWorker,就相当于创建一个线程,并且提供一个方法做为任务由它去执行。
2、在WINDWOS桌面程序中使用线程时,常常会遇到需要跨线程访问线程的情况,因为WINDOWS的界面控件都不是线程安全的,所以不能直接跨线程访问。
3、使用BackgroundWorker时,处理进度显示量容易。
4、当你执行的任务较简单,不需要复杂控制时使用BackgroundWorker,较为方便;当你要执行的任务需要复杂控制(如线程同步)时,要自己 创建线程。
如何使用backgroundWorker进行异步操作
BackgroundWorker类位于System.ComponentModel 命名空间中,通过该类在单独的线程上执行操作实现基于事件的异步模式。下面对BackgroundWorker类的主要成员进行介绍。 BackgroundWorker类的第1个主要方法是RunWorkerAsync,该方法提交一个以异步...
更多文章:
游戏建模类型包含哪几种 从哪方面开始较好?游戏建模需要什么基础
2024年3月21日 00:00
cordless(单词cord和词根cord异源,意义也相差甚远单词cord表示粗线、细绳之意,cordless表示无线 以上)
2024年5月5日 19:15
typedef struct所有用法(typedef struct 用法是什么)
2024年6月29日 10:51
gitee官网是干什么的(苹果6s手机跳出对提示gitee.com,后面有个可点击字《好》无法联接是什么意思)
2024年7月20日 04:40
onclick弹出提示框(html中点击click事件后的提示框内容)
2024年7月21日 09:00
数组初始化是什么意思(C语言中初始化数组和给数组元素赋值有什么区别)
2024年7月16日 18:38
vs2008 序列号(visual c++ 2008 express edition 密钥)
2024年7月4日 22:00
安卓手机玩java游戏(安卓手机 为什么可以玩 java游戏,并且毫不费力运行呢)
2024年4月1日 16:26
百度下拉框推广是如何实现的?在网络上要怎么样去推广的自己产品,才会增加点击率
2024年7月24日 01:13
内在人格属性是什么意思(灵魂人格,内在人格,外人格区别是什么)
2024年6月29日 00:08
天数计算器在线(什么计算器(正计时,天数,时间都有的)比较好)
2024年7月23日 11:36