2012-09-27 2 views
2

for 루프에서 일부 XML 파일을 처리 중이며 처리 된 파일 수에 따라 진행률 표시 줄을 표시하려고합니다. 디렉토리에 100 개의 파일이 있고 파일이 하나씩 루프에서 처리 중이며 for 루프의 현재 카운트에 따라 진행률 막대를 업데이트하려고한다고 가정합니다.
제안하십시오.for 루프에서 진행률 표시 줄 업데이트

+0

루프의 반복기를 업데이트합니다. (루프가 for (int i = 0; i <100; i ++)이면 iterator는 i)입니다. – elyashiv

답변

2

ProgressBar 컨트롤과 결합 된 BackgroundWorker를 사용해야합니다. 다음은 간단한 example입니다.

1

백그라운드 작업자를 사용하여 100 개의 파일을 처리하고 반복마다 ReportProgress를 호출하고 백그라운드 작업자의 프로세스 변경된 이벤트를 연결 한 다음 적절하게 진행률을 업데이트하십시오.

자세한 내용은 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로 맞추어주세요. 죄송합니다. 새 소식입니다. 충고에 대해 감사하며 앞으로도 따라 할 것입니다. –