2016-11-24 54 views
0

我正在C#項目中工作,其中包含需要很長時間才能執行的方法,因此我需要一個進度條來告訴用戶剩餘的剩餘量和我不知道如何。 我谷歌,而我看到的課程大約BackgroundWorker的,仍然不知道如何使用它如何通過進度條報告方法情況wpf C#

private void Lock_Methods() 
    { 
     foreach (FolderInfo fi in FolderInfo) 
     { 
      // code need a lot of time .... 
      } 



     } 

任何幫助,請...

回答

0

聲明

var bw = new BackgroundWorker() 
{ WorkerReportsProgress = true }; 
bw.RunWorkerAsync(); 
bw.DoWork += bw_DoWork; 
bw.ProgressChanged += bw_ProgressChanged; 

而且

private void bw_DoWork(object sender, DoWorkEventArgs e) 
{ 
    for(int i = 0: i < FolderInfo.Count; i++) 
    { 
     //... 
     (sender as BackgroundWorker).ReportProgress((int)(100/FolderInfo.Count)*i, null); 
    } 
} 

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