2010-06-08 3 views
0

J'utilise le contrôle numérique updowncontrol. Pour les valeurs min et max modifiées, l'écoute de ces événements this.numDownMinLimit.ValueChanged + = new System.EventHandler (this.numDownMinLimit_ValueChanged); this.numDownMaxLimit.ValueChanged + = new System.EventHandler (this.numDownMaxLimit_ValueChanged);contrôle numérique updown C#

taille de pas

ensemble est 0.1

Le eventhandler prend un certain temps.

Si vous maintenez la touche de la souris enfoncée pendant un certain temps, puis la relâchez, eventhandler s'exécute toujours avec les valeurs précédentes qui ont été déclenchées.

Comment empêcher ce scénario de se produire? Je voudrais rejeter les événements restants qui sont encore dans la file d'attente, en attente d'être manipulés, lorsque l'utilisateur relâche le bouton de la souris.

Répondre

0

Vous devez jeter un oeil à la NumericUpDownAcceleration classe qui gère ce comportement:

De: http://msdn.microsoft.com/en-us/library/system.windows.forms.numericupdownacceleration.aspx

L'objet NumericUpDownAcceleration est utilisé par le contrôle NumericUpDown pour éventuellement fournir une accélération lorsque incrémenter ou en décrémentant le contrôle à travers une grande quantité de numéros .

Faites-nous savoir comment vous vous en sortez.

+0

n'a pas résolu le problème une fois que la mise à jour les valeurs sont arrêtées. Je vais aussi avoir la valeur précédente. – Raghav