}
//backgroundWorker1.ReportProgress(i * 100 / num);
backgroundWorker1.ReportProgress(i * 100 / num,i);//报告完成进度
Thread.Sleep(0);//后台线程交出时间片
}
return true;
}
private void backgroundWorker1_ProgressChanged(object sender,ProgressChangedEventArgs e)

{
//将完成进度数据传给进度条
progressBar1.Value = e.ProgressPercentage;
label1.Text = e.ProgressPercentage + '%';
//将中间计算结果在ListBox控件中显示出来
listBox1.Items.Add(e.UserState);
}
Private void backgroundWorker1_RunWorkerCompleted(object sender,RunWorkerCompletedEventArgs e)
{
if (!e.Cancelled && e.Error!=null)
{
MessageBox.Show('处理完成了吗? ' + e.Result);
}
else//如果取消后台线程或发生了异常
{
MessageBox.Show('处理完成了吗? false');
}
}
//取消按钮
private void button2_Click(object sender, EventArgs e)
{
if (backgroundWorker1.WorkerSupportsCancellation==true)
{
backgroundWorker1.CancelAsync();//取消后台操作
backgroundWorker1.Dispose();//释放资源
}
}
}
}
运行结果如下图:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27006-3.html
默默祝福你
加油吧