ProgressBar zu "langsam"

Hallo,

das mit "Application.DoEvents" hat leider keine Besserung gebracht.
Ich habe ein einfaches Beispielprogramm angehängt, wo mein Problem gut
nachvollziehbar ist.
Im Programm wird ProgressBar1.Value in einem Timer-Event jeweils um einen Schritt
erhöht. Das Maximum der ProgressBar und der Timer-Intervall können jeweils
über eine Textbox eingegeben werden. Wenn der Wert ProgressBar1.Value den eingegeben
Maximalwert erreicht hat, wird das Programm unterbrochen (Breakpoint).
Hierbei hat zwar der Wert .Value natürlich den Endwert erreicht, optisch ist dies aber in der ProgressBar
nicht ersichtlich.
Hierbei gilt:
Je kleiner der Timer-Intervall und je kleiner der Maximalwert der ProgressBar, desto
geringer ist die "Ausfüllung" der Bar bei erreichen des Maximalwertes (siehe auch Screenshot - Maximalwert ist
hier erreicht).

Wäre super wenn ihr eine Lösung für das Problem finden könntet - ich bin leider
noch ein blutiger Anfänger und komme hier einfach nicht weiter.

Danke!

Gruß
Karl-Heinz
 

Anhänge

Hallo Shakie,

was benutzt du für eine Visual Basic Version?
Ich benutze VB 2008 Express Edition.
Kann es am Betriebssystem bzw. einer bestimmten Konfiguration oder so liegen?
Kann ich mir eigentlich nicht vorstellen...Ich werde das kleine Beispielprogramm mal
auf anderen PCs ausprobieren.

Gruß
Karl-Heinz
 
Hallo,

ich habe das kleine Beispielprogramm auf einem
Rechner mit Vista Home Premium 64-Bit (mein PC) und auf einem Rechner mit
Windows 7 Home Premium 64-Bit ausprobiert.
Bei beiden Rechnern hatte ich das beschriebene Problem.

Dann habe ich das Programm auf zwei Rechnern mit Windows XP 32-Bit
ausprobiert. Hier hat es funktuniert, d.h. zum Zeitpunkt als der Wert ProgressBar.Value
das Maximum erreicht hatte, hatte die ProgressBar ebenfalls das Ende erreicht.

Kann das unterschiedliche Verhalten am Betriebssystem liegen?
Eventuell ob 32 oder 64 Bit?
:confused:

Gruß
Karl-Heinz
 
wird wohl so sein. Ich habe ein Windows 7 64 BIT OS am rennen.

Wenn du dein VS als 64 Bit version installiert hast (was warschnl der Fall sein wird), kannst du in den Projekt einstellungen, die Kompatibilität, bzw, Auslegung deines Programms festlegen. Du kannst einstellen auf Welche CPU dein Programm kompiliert und ausgelegt sein soll. Es gibt Any CPU (so hab ichs getestet) x64 (64 Bit) und x 86 (32Bit). Probiers mal mit der x86 einstellung, könnte zwar sein, dass dann dein Programm nicht auf deinem Computer läuft, aber in der Regel sollte ales ok sein.

Wenn dies nichts damit zu tun hat und auch somit nicht geholfen hat, weis ich leider auch nicht:(
 
Hallo Marschal,

kannst du mir vielleicht genauer sagen wo ich diese Einstellung finde.
Im Eingenschaftsfenster des Projekts habe ich die Einstellung "Any CPU"
nicht gefunden - vielleicht bin ich zu blind.

Ich habe unter "Anwendung" mal den Punkt "Visuelle XP Stile aktivieren" deaktiviert.
Die Darstellung der ProgressBar hat sich hierbei verändert - aber die Funktion war in Ordnung.

Vielleicht würde diese CPU-Einstellung wirklich etwas bringen.

Danke & Gruß
Karl-Heinz
 
Hab es gefunden - dieser Konfigurationspunkt war bei mir
ausgeblendet.
Hab es ausprobiert - hat aber leider nichts gebracht!

Hat wohl irgendwas mit der Einstellung "Visuelle XP Stile aktivieren"
zu tun.

Gruß
Karl-Heinz
 
Probiers aus, kommentier mal die Zeile aus, wo die Visuellen Style vom System übernommen werden und kompilier mal neu.

Dann sieht die Progressbar (leider auch alle Steuerelemente) net so doll aus, aber wenns geht und du auf optik keinen Großen wert legst, könnt mans so machen.

Alternativ könnt ich dir eine eigen geschreibene Progressbar anbieten, ist zwar net so modern, also sieht aus wie Windows 95, abder man kann die Farbe ändern;)
 
Hallo,

wie gesagt, bei Deaktivierung von "Visuelle XP Stile aktivieren" funktioniert
die ProgressBar korrekt. Die Aktivierung scheint das Programm bzw. in meinem
Falle die optische Aktualisierung der ProgressBar drastisch zu verlangsamen.
Wenn ich einen 486er Prozessor hätte könnte ich das vielleicht verstehen, aber bei einem
4-Kern Prozessor, 2,5 GHz, 8 GB RAM und einer 1 GB Grafikkarte - Hmmmm, keine Ahnung! :confused:

Ich werde den Punkt wohl deaktivieren um das Problem zu umgehen - muss dann wohl die
etwas unschönere Optik in Kauf nehmen - Funktion geht vor dem Aussehen :)

Auch nach der Deaktivierung der XP Stile bleibt die Darstellung in der Entwurfsansicht
unverändert (wie bei aktivierten XP Stilen). Kann ich dies eventuell auch ändern?
Sonst sieht die Anwendung in der Entwurfsansicht immer anderst aus als später
nach dem Programmstart.

Gruß
Karl-Heinz
 
Meines wissens nach kannst du in MS VS nicht die Optik des Designers ändern, höchstens mal in den Setting nachschauen, aber eher unwahrscheinlich.

Hier, ich hänge mal die von "mir" geschreibene (eher umgeschreibene) Progressbar an.

Download

Code:
Installation:
1. MS Visual Studio Starten > Extras > Toolboxelemente auswählen
(nicht iritieren lassen, könnte länger dauern da er alle Steuerelemente lädt)

2. Durchsuchen > Dll anwählen > Ok.

Nun sollte die Progressbar (SmoothedProgressbar) in der Toolbox vorhanden sein.

Diese kannst du normal verwenden, sie sieht zwar nicht schön aus, aber dafür kannst du die XP Styles aktiviert lassen:)
 
Zurück