2012-09-27 38 views
2

我正在處理for循環中的一些xml文件,並根據已處理的文件數目我想顯示進度條。 假設目錄中有100個文件,並且循環中的文件逐個處理,我想根據for循環的當前計數更新進度條。
請建議..從循環更新進度欄

+0

更新到循環中的迭代器。 (如果循環爲'for(int i = 0; i <100; i ++)'迭代器爲i)。 – elyashiv

回答

2

您應該將BackgroundWorker與ProgressBar控件結合使用。這是一個簡單的example

1

使用Background Worker處理100個文件,每次迭代調用ReportProgress,掛接到BackgroundWorker的Process changed事件並相應地更新進度條。

有關詳細信息,您可以查看this tutorial

-1
for(int i=1;i<linecount;i++) 
{ 
progressBar1.Value = i * progressBar1.Maximum/linecount; //show process bar counts 
LabelTotal.Text = i.ToString() + " of " + linecount; //show number of count in lable 
int presentage = (i * 100)/linecount; 
LabelPresentage.Text = presentage.ToString() + " %"; //show precentage in lable 
Application.DoEvents(); keep form active in every loop 
} 
+1

請不要將[相同的答案添加到多個問題](http://meta.stackexchange.com/questions/104227/is-it-acceptable-to-ad??da-duplicate-answer-to-several-問題)。一旦你獲得了足夠的聲望,請回答最好的一個,並將其餘標記爲重複。如果它不是重複的,請調整問題的位置 –

+0

@ManfredRadlwimmer對不起,我是新來的。感謝您的建議,我將在未來繼續。 –