使用BackgroundWorker与ProgressBar控件实现一个进度条

    1.首先添加两个三个控件

  

2. 设置backgroundWorker1的属性WorkerReportsProgress属性为True

3.BackgroundWorker控件允许在一个独立的专属的进程上面执行一些操作。尤其是一些消耗时间资源比较大的事件。


private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 1; i <= 10; i++)
            {
                    // Perform a time consuming operation and report progress.
                    System.Threading.Thread.Sleep(5000);
                    backgroundWorker1.ReportProgress(i);
              
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            backgroundWorker1.RunWorkerAsync(); //执行RunWorkerAsync()会调用DoWork()
        }

        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage*10;
        }

        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            MessageBox.Show("backgroundWorker Completed!");
        }

   4.效果如下: 



猜你喜欢

转载自blog.csdn.net/weixin_39730950/article/details/79417195
今日推荐