上文在《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