2009-01-08 4 views
1

Salut J'ai une application MDI où une fenêtre enfant gère un certain nombre d'événements de la souris. Tout a fonctionné sans problème (e.Button, e.Location, etc) jusqu'à ce que j'ai essayé d'obtenir la valeur de e.Delta (nombre de détentes de la souris).C# MouseEventArgs "e.Delta" ne fonctionne pas

e.Delta retourne toujours 0.

Mes événements sont ne déclenchent pas de problème, la valeur de e.Delta est toujours égale à zéro, alors que tout le reste semble valide.

J'ai essayé les événements dans ma forme d'enfants suivants:
MouseClick
MouseDown
MouseMove
MouseUp

J'ai même essayé manipuler un des événements de la souris dans la fenêtre principale MDI mère pour voir si elle aiderait, mais le même résultat ... e.Delta toujours = 0.

Répondre

6

Eh bien, cette propriété ne va probablement pas être valide, sauf si elle vient à vous grâce à un événement MouseWheel (que je ne vois pas sur le liste là-bas). Essayez d'attacher à cela, et vous devriez obtenir l'événement lorsque la roue est tournée.

+2

Merci homme, je ne sais pas pourquoi cet événement n'est pas répertorié dans la fenêtre des propriétés sous les événements. Je suppose que je ne devrais pas compter sur l'outil de conception pour tout hah. – Balk

+0

J'ai déjà essayé ceci mais je ne peux pas contrôler control_MouseWheel - mettre ma souris sur le contrôle, tous les autres événements de souris se déclenchent, mais pas MouseWheel - aussi MSDN dit que e.Delta devrait être valide dans Mouse_Click, etc. (clairement ce n'est pas, mais toujours). – BrainSlugs83

+0

Ahh, je l'ai compris - contrairement à d'autres événements souris - l'événement MouseWheel se déclenche uniquement à partir d'un formulaire. – BrainSlugs83