2015.3.11 VS异步控件及进度条结合应用
Posted mol1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2015.3.11 VS异步控件及进度条结合应用相关的知识,希望对你有一定的参考价值。
1、在Form中添加 指针控件:BackgroundWorker-bgwork;进度条控件progressBar1 以及开始、取消按钮
2、开始按钮启动异步线程
private void button1_Click(object sender, EventArgs e)
{
bgwork.WorkerReportsProgress = true; //允许异步控件报告状态
bgwork.WorkerSupportsCancellation = true;//允许终止
bgwork.RunWorkerAsync(new string[3] { "1", "2", "3" });//启动异步事件,其中可带任意参数e
}
3、执行异步函数
private void bgwork_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 1; i < 101; i++)
{
Thread.Sleep(100);
bgwork.ReportProgress(i); //触发bgwork_ProgressChanged事件,显示百分比i%
if (bgwork.CancellationPending) //随时监测有无中止此后台进程
{
e.Cancel = true;//异步线程主动报告终止线程
return;
}
}
}
private void bgwork_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage; //主界面上显示进度条
}
中止后台进程
private void button2_Click(object sender, EventArgs e)
{
bgwork.CancelAsync(); //主进程要求异步线程终止 此时bgwork.CancellationPending由false变为ture
}
异步进程中止和结构后触发事件
private void bgwork_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled) MessageBox.Show("取消");//异步线程终止后,主进程判断退出原因,是主动取消还是出错退出。
else MessageBox.Show(e.r);
}
以上是关于2015.3.11 VS异步控件及进度条结合应用的主要内容,如果未能解决你的问题,请参考以下文章
Android移动应用开发之使用异步调用进度条及实现幻灯片切换效果
VS2008中Slider控件制作播放器的进度条,如何在视频播放时改变滑块位置
android:异步任务asyncTask介绍及异步任务下载图片(带进度条)