ProgressBar zu "langsam"

Hallo,

falls es noch interessant ist.
Seit Win7 habe ich mich auch gewundert, warum meine Progressbars scheinbar die 100% nicht mehr erreichen, wenn die XP-Styles aktiv sind.
Ein einfacher Test zeigt folgendes:
Wird über einen Button der Progressbar.Value von 0 auf z.B. 80% gesetzt, dann springt die Anzeige nicht wie gewohnt sofort an die Position, sondern sie läuft langsam dort hin.
Dieser gut gemeinte Effekt ist bei schnellen Operationen aber absolut unbrauchbar. Es entsteht ein falscher subjektiver Eindruck. Die Operation ist fertig und das Ding steht erst irgendwo bei 50%.
Der gleiche Effekt ist auch mit Increment und PerformSteps zu beobachten.
Also was tun?
XP-Styles werden benötigt! (Gruppierung im Listview)

Meine Lösung sieht wie folgt aus:
Ich setze den Value fest auf Max und verschiebe Min und Max relativ dazu.

Code:
Private Sub Progress(ByVal Val As Integer, ByVal Max As Integer)
    Progressbar.Maximum = Max + (Max - Val)
    Progressbar.Minimum = Max - Val
    Progressbar.Value = Max
End Sub

Viele Grüsse, Lutzer
 
Zurück