2012-06-11 5 views
0

배경 작업자에게 진행률 표시 줄을 구현 했으므로 여기에서 잘못된 것을 볼 수 없습니다. 더 이상 한 번만 실행됩니다 (어떤 경우에는 코딩을 보았습니다. FOOR 루프 실행 6 회)배경 작업자가있는 진행 표시 줄 2 부

내 코드에서 : - 루프 내에서 내 코딩 한 번만 실행하지 않아야하는 이유는 단지 캔트 참조로

My progress bar max value is set to 10. 

‘ BGWorker Do Work Event 
      For i As Integer = 1 To 2 
‘ Run code 1 
Next 

      For i As Integer = 2 To 3 
‘ Run code 2 
Next 


      For i As Integer = 3 To 4 
‘ Run code 3 
Next 

      For i As Integer = 4 To 5 
‘ Run code 4 
Next 

      For i As Integer = 5 To 6 
‘ Run code 5 
Next 

      For i As Integer = 6 To 8 
‘ Run code 6 
Next 

      For i As Integer = 8 To 9 
‘ Run code 7 
Next 

‘ BGWorker Progress changed event 
      Me.Progressbar1.Value = e.ProgressPercentage 
      Me.label1.Text = String.Format("{0} % Completed", e.ProgressPercentage * 10) 

난 어떤 도움을 주셔서 감사합니다 정말 것이다.

+0

: 당신의 배경 노동자 10 개의 단계가있는 경우, 다음 십 업데이트를 호출 시도 6 번 실행) ", 디버거에서 의미합니까? 진행률 표시 줄에? 어디에? –

+0

진행 상황을보고 하시겠습니까? 그 다음에 당신은 나를 위해 말이되지 않습니다. 배경 작업자를 게시하십시오. – Paparazzi

답변

2

For - Loop 1 to 2을 호출하면 2 번 실행됩니다. 3 to 4, 5 to 6과 동일합니다.

원래 코드는 단지했다 : 같은 일을했다

For i As Integer = 1 To 2 
    ‘ Run code 1 
Next 

For i As Integer = 3 To 4 
    ‘ Run code 2 
Next 

.

그러나 코드를 한 번 실행하면 모두 For - Loops이 필요하지 않은 것처럼 들립니다. 당신은 내가 FOOR 루프 내에서 코딩을 보았다 "말할 때 당신은 등을보고 진행을 호출하는 코드를 표시하지 않을

‘ Run code 1 
BGWorker.ReportProgress(1) 

‘ Run code 2 
BGWorker.ReportProgress(2) 

‘ Run code 3 
BGWorker.ReportProgress(3) 

‘ etc 
+0

안녕하세요 Lars, BGWorker.ReportProgress (1)를 사용하고 다음 코딩 BGWorker.ReportProgress (3) 이후에 코딩이 10 %가 아닌 20 %가 완료 되었다면 한 가지 더 알려주세요. – JackSparrow

+0

@JackSparrow 원하는 번호를 전달할 수 있습니다. 너의 전화 번호 야. 코드에서 파악할 수있는 것부터 10 가지 코드 스 니펫을 실행해야하는 것처럼 보이므로 ProgressBar가 최대 10 개로 설정되어 있으면 코드 스 니펫 # 10을 실행할 때까지 진행률 값을 10으로 설정하여 ProgressBar의 최대 값과 일치시킵니다. 15 개의 다른 코드 스 니펫을 실행해야한다면 ProgressBar 최대 값을 15로 설정하고보고 진행률을 1에서 15로 유지하십시오. – LarsTech