下面是博客园上的解释,你在发帖之前就不能看看msdn或者先google一下?
调用this.backgroundWorker1.CancelAsync()并不能结束后台线程,
要想提前结束这个线程,需要在你的DoWork事件事件处理函数中进行处理,示例代码如下:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 10; i++ )
{
if ((BackgroundWorker)sender.CancellationPending)
{
e.Cancel = true;
break;
}
//dosomething.....
}
}private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
//Cancelled
}
else
{
//Succeed
} }
调用this.backgroundWorker1.CancelAsync()并不能结束后台线程,
要想提前结束这个线程,需要在你的DoWork事件事件处理函数中进行处理,示例代码如下:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 10; i++ )
{
if ((BackgroundWorker)sender.CancellationPending)
{
e.Cancel = true;
break;
}
//dosomething.....
}
}private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
//Cancelled
}
else
{
//Succeed
} }
解决方案 »
- 用QQ下载东西会有多余的扩展名,怎么实现的?
- Timer事件中如何自动关闭web窗体
- C#的控制台有什么用?好像不能拿来但程序用啊
- XtraNavBar控件,如何点击后,得到相应group的序号或caption名称?
- c#怎么生成一张只有背景颜色的图片
- 关于论坛权限控制的问题
- 怎么样能用C#获取真实的下载地址恩,累似与flashGet的下载功能?
- C#如何实现物体移动后在另一窗体显示物体移动的轨迹
- ******* C# winform 控件使用问题 ********
- C#调用C++窗口问题
- 求大神指点hpg格式文件能否在C#下直接送到打印机打印!
- 求个 wcf 中 创建webservice 的例子【100分求】
每次循环的时候都判断下,如果NeedCancel==true,就终止循环,退出。