Autor Beitrag
Halbstarker
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 21.02.09 14:25 
Hallo,

Ich habe ein Programm geschrieben, in welchem man mit einem Schieber(Slider) die Bildhelligkeit einstellen kann. Dafür benutze ich das Scroll-Event des Sliders. Mein Problem ist das er sofort die Berechnungen anfängt, auch wenn der Slider noch nicht an der finalen Position ist. Dadurch verbraucht das Programm enorme Ressourcen und fängt an zu ruckeln. Wie könnte man das realisieren, dass er erst anfängt zu berechnen wenn der Slider nicht mehr bewegt wird?

Beste Grüße


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am Sa 21.02.2009 um 19:02
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 21.02.09 14:34 
Ich weiß nicht, ob es dafür schon etwas fertiges gibt, aber du könntest bspw. nur einen Timer mit einem Intervall von z.B. 1000 ms anstoßen. Bei jeder Bewegung wird der wieder zurückgesetzt (deaktiviert + aktiviert). Wenn jetzt 1 Sekunde keine Bewegung mehr erfolgt ist, dann startet die Berechnung.

Mit dem Intervall kannst du ja einfach etwas herumspielen, ich denke 500 ms oder so kann auch reichen, je nachdem wie du das haben möchtest.
Auf jeden Fall verhinderst du so eine ständige Abarbeitung beim Bewegen, selbst wenn du das Intervall relativ niedrig setzt.

Vielleicht gibt es da auch mit .NET noch bessere Lösungen, aber so gut kenne ich mich damit noch nicht aus.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 21.02.09 14:41 
Geht es um Windows Forms oder WPF? Nur WPF besitzt eine Slider-Klasse, die allerdings kein Scroll-Event. Poste nächstes Mal bitte direkt in der richtigen Sparte, um solche Rückfragen zu vermeiden.

_________________
>λ=
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 21.02.09 14:47 
Und wenn Du WinForms benutzt: meinst Du die TrackBar? Die hat zwar ein Scroll-Event, das aber laufend ausgelöst wird.

Vielleicht ist es sinnvoll, erst auf MouseUp und KeyUp zu reagieren.

Gruß Jürgen
Halbstarker Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 21.02.09 19:58 
Ich meine die WindowsForm TrackBar mit dem Scroll-Event.