VB.NET-Fortschrittsbalken [duplizieren]

Mögliche Duplikate:
.NET-Fortschrittsbalken wird nicht aktualisiert

Ich habe eine Fortschrittsbalkenklasse erstellt, die den Fortschritt in meinen for-Schleifen anzeigt. Hier ist der Code für die Fortschrittsbalkenklasse:

Public Class frmProgress
Private Sub frmProgress_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    progressBar.Minimum = 0
End Sub

Public Sub ProgressBarSetup(ByRef Maximum As Integer, ByRef Title As String)
    progressBar.Maximum = Maximum
    progressBar.Value = 0
    Me.Text = Title
    Me.Show()
End Sub

Public Sub IncProg()
    progressBar.Value += 1
    Application.DoEvents()

    If progressBar.Value = progressBar.Maximum Then
        Me.Close()
    End If
End Sub
End Class

So würde ich es in einer for-Schleife verwenden:

Dim pb As New ProgressBar
pb.ProgressBarSetup(5000, "Test")

For i As Integer = 0 To 5000 - 1
      pb.IncProg()
Next

Das Problem ist ein visuelles Problem. Es macht bis zu 70-85% des gesamten Fortschrittsbalkens aus und wird dann geschlossen. Beim Schließen sind der Fortschrittsbalkenwert und der Maximalwert gleich, der Balken ist jedoch nur zu etwa drei Vierteln seiner Länge gefüllt.

Ich habe versucht, progressBar.Refresh () anstelle von Application.DoEvents () zu verwenden, aber es verlangsamt den Fortschritt um ein Vielfaches - und gibt mir immer noch das gleiche Ergebnis.

Gibt es andere Möglichkeiten, eine optisch ansprechende Fortschrittsanzeige zu erzielen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage