BackgroundWorker+ProgressBar+委托 實現多線程、進度條


      上文在C# 使用BackgroundWorker實現WinForm異步》介紹了如何通過BackgroundWorker實現winForm異步通信,下面介紹如何通過BackgroundWorker實現進度條顯示。實現效果圖如下所示:

 

     要實現此功能,首先需要創建一個帶有進度條的窗體,取名為:frmProcess,窗體中添加processBar和一個Label進行,設置這兩個控件的Modifiers值為public。接下來在上文的代碼基礎上進行操作。

(1) 定義全局窗體變量

      接着上文中的代碼,在窗體Form1下定義變量:

1 frmProcess myProcess;

(2)Start按鈕單擊事件下對frmProcess窗體進行實例化。

1             myProcess = new frmProcess();
2             myProcess.StartPosition = FormStartPosition.CenterScreen;
3             myProcess.pbProcess.Value = 0;
4             myProcess.lblProcesstext.Text = "0%";
5             myProcess.Show();
6             myProcess.TopMost = true;

(3)backgroundWorker1_ProgressChanged事件下傳入當前進度

1             myProcess.pbProcess.Value = e.ProgressPercentage;
2             myProcess.lblProcesstext.Text = e.ProgressPercentage + "%";

通過以上功能操作,就完成了進度條的顯示。

源代碼下載地址:http://files.cnblogs.com/Peter-Luo/Multi_ThreadingV2.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM