| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 503 人关注过本帖
标题:[求助] 一个关于 BackgroundWorker 类的问题
只看楼主 加入收藏
zerohcy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-7-13
收藏
 问题点数:0 回复次数:0 
[求助] 一个关于 BackgroundWorker 类的问题

大家好,我最近开始研究这个类。看了一点关于这方面的介绍,发现了一点问题,所以来请教一下。
这个类在网上有很多例子,100%的都是在这个类的DoWork里运行这样一段代码

private void bw_DoWork(object sender, DoWorkEventArgs e)
{
for (double d = 599999999 ; d >= 0; d--)
{
//bw.CancellationPending默认为false
//想取消后台程序就执行bw.CancelAsync(),bw.CancellationPending就为true了
if (bw.CancellationPending)
{
e.Cancel = true;
break;
}
if (d == 0)
{
MessageBox.Show("Completed!");
}
}
}
大家可以看到在循环过成中可以不停的判断用户是否做了取消后台的操作,但是实际中DoWork往往不是一个循环体的,比果是执行一段要运行很久的sql,那用户在sql执行过程中想取消后台的sql执行,那又怎么办呢?如何在不能循环判断bw.CancellationPending的情况下退出DoWork事件呢?
搜索更多相关主题的帖子: private double false 网上 
2006-09-19 16:35
快速回复:[求助] 一个关于 BackgroundWorker 类的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023336 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved