zoukankan      html  css  js  c++  java
  • BackgroundWorker异步更新界面

    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);
                }
            }
    结果如下图



  • 相关阅读:
    第五周总结
    10.24号进度报告
    10.23日进度报告
    10.22日进度报告
    10.21日进度报告
    10.20号进度总结
    10.19日进度总结
    第四周总结
    10.18日进度博客
    2020下第六周总结
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604882.html
Copyright © 2011-2022 走看看