0

バックグラウンドワーカーにプログレスバーを実装したため、ここで何が間違っているのかわかりません(場合によっては、foorループ内のコーディングが6回実行されるのを確認しました)。

私のコーディング:-

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)

ループ内のコーディングが1回だけ実行されるべきではない理由がわからないので、助けていただければ幸いです。

4

1 に答える 1

2

aの呼び出しはFor - Loop 1 to 22回実行されます。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しかし、コードを1回実行するだけであれば、まったく必要ないようです。バックグラウンドワーカーに10のステップがある場合は、10の更新を呼び出してみてください。

‘ Run code 1
BGWorker.ReportProgress(1)

‘ Run code 2
BGWorker.ReportProgress(2)

‘ Run code 3
BGWorker.ReportProgress(3)

‘ etc
于 2012-06-11T16:32:24.303 に答える