BackgroundWorker改变WPF进度条值

来源:互联网 发布:地瓜网络嗅探器百度云 编辑:程序博客网 时间:2024/04/28 05:44
 public partial class UpdateWindow{        private BackgroundWorker _work=new BackgroundWorker();        /// <summary>        /// 构造函数        /// </summary>        public UpdateWindow()        {            _work.DoWork += new DoWorkEventHandler(doWorkExecute);            _work.ProgressChanged += new ProgressChangedEventHandler(_work_ProgressChanged);            _work.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_work_RunWorkerCompleted);            _work.RunWorkerAsync();//开始执行后台操作             _work.WorkerSupportsCancellation = true;            _work.WorkerReportsProgress = true;        }        private BackgroundWorker worker = null;private int count=100;        public void doWorkExecute(object sender, DoWorkEventArgs e)        {           worker = sender as BackgroundWorker;for (int i = 0; i < count; i++){   //执行异步doworkworker.ReportProgress((i+1) * 100 / count);//完成进度 }        }        //改变进度条值        private void _work_ProgressChanged(object sender, ProgressChangedEventArgs e)        {//ProgressBar1为WPF中进度条name            ProgressBar1.Value = e.ProgressPercentage;        }        private void _work_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)        {           //异步执行完执行的操作        }}

0 0
原创粉丝点击