HScrollBar _MouseUp event

Status
Niet open voor verdere reacties.

HelpElec

Gebruiker
Lid geworden
6 mrt 2013
Berichten
102
Beste allemaal,


Ik heb een programma, waarbij ik een event wil hebben op het loslaten van een HScrollBar als er gescrolled is. Misschien kijk ik eroverheen, maar ik kan niks vinden waarmee dit direct mogelijk is.
Het lukt wel met het MouseCaptureChanged event, maar dan moet je (volgens mij) toggelen om steeds de eerste keer dat het event optreed, dus bij het indrukken van de muisknop, over te slaan.
Eigenlijk wil ik dus een MouseUp event, maar die heeft een ScrollBar niet. Is er een simpelere manier dan de mijne om dit voor elkaar te krijgen?

Bij voorbaat dank!
 
ValueChanged/Scroll Event

[CPP]private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
if (e.Type == ScrollEventType.EndScroll)
{
MessageBox.Show(string.Format("gestopt bij {0}", (sender as HScrollBar).Value));
}
}[/CPP]


edit:
oeps; te vlug gelezen, wat wilt je precies doen met de scrollbar? door records bladeren?
 
Laatst bewerkt:
Het programma beinvloed de intensiteit van verlichting. Hij stuurt dan een bericht naar de lamp met de gewenste lichtintensiteit. Deze kan varieren van 0 tot 100. Ik heb 2 buttons die hem op 0 of op 100 zetten (bij beiden wordt er 1 bericht gestuurd) en dus de HScrollBar om tussen de 0 en 100 te zitten. Gebruik ik het Scroll Event dan worden er ontzettend veel berichten gestuurd en ontstaat er vertraging. Ook als ik steeds pas een bericht stuur op het moment dat de nieuwe waarde 5 verschilt met de vorige.
Ik wil dus eigenlijk pas de value weten en een event hebben op het moment dat de Scrollbar wordt losgelaten.
 
De code hierboven zal wel werken, maar als een gebruiker op het pijltje blijft klikken of [->] op toetsenbord heb je hetzelfde probleem.

Je kunt ook eens naar het trackbar control kijken. Ziet er waarschijnlijk ook beter uit als regelaar. (en heeft mouse up als je dat wilt)



edit:
ook zou je de waarde van 0 - 20 kunnen zetten en in de code *5 doen zodat de stappen niet zo klein zijn.
 
Laatst bewerkt:
e.Type == ScrollEventType.EndScroll werkt prima.
Hartelijk dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan