BackgroundWorker异步更新界面

来源:互联网 发布:卖家开通淘宝客要求 编辑:程序博客网 时间:2024/06/05 03:01

BackgroundWorker类似于线程,但又不太一样,因为线程不可以直接更新界面,而BackgroundWorker可以。代码如下

 private void buttonTest_Click(object sender, EventArgs e)        {            BackgroundWorker worker = new BackgroundWorker();            worker.WorkerReportsProgress = true;            worker.DoWork += Bw_DoWork;            worker.ProgressChanged += Bw_ProgressChanged;            worker.RunWorkerAsync();        }        private void Bw_ProgressChanged(object sender, ProgressChangedEventArgs e)        {            labelProcess.Text = e.ProgressPercentage.ToString();        }        private void Bw_DoWork(object sender, DoWorkEventArgs e)        {            var worker = sender as BackgroundWorker;            for (int i = 0; i < 100; i++)            {                worker.ReportProgress(i);                Thread.Sleep(100);            }        }
结果如下图



原创粉丝点击