MouseWheelEventArgs Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides data for various events that report changes to the mouse wheel delta value of a mouse device.

Namespace:   System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)


public class MouseWheelEventArgs : MouseEventArgs

System_CAPS_pubmethodMouseWheelEventArgs(MouseDevice, Int32, Int32)

Initializes a new instance of the MouseWheelEventArgs class.


Gets a value that indicates the amount that the mouse wheel has changed.


Gets the input device that initiated this event.(Inherited from InputEventArgs.)


Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. (Inherited from RoutedEventArgs.)


Gets the current state of the left mouse button.(Inherited from MouseEventArgs.)


Gets the current state of the middle mouse button.(Inherited from MouseEventArgs.)


Gets the mouse device associated with this event. (Inherited from MouseEventArgs.)


Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.(Inherited from RoutedEventArgs.)


Gets the current state of the right mouse button.(Inherited from MouseEventArgs.)


Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. (Inherited from RoutedEventArgs.)


Gets or sets a reference to the object that raised the event. (Inherited from RoutedEventArgs.)


Gets the stylus device associated with this event.(Inherited from MouseEventArgs.)


Gets the time when this event occurred. (Inherited from InputEventArgs.)


Gets the current state of the first extended mouse button.(Inherited from MouseEventArgs.)


Gets the state of the second extended mouse button.(Inherited from MouseEventArgs.)


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Returns the position of the mouse pointer relative to the specified element.(Inherited from MouseEventArgs.)


Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInvokeEventHandler(Delegate, Object)

Invokes event handlers in a type-specific way, which can increase event system efficiency.(Overrides MouseEventArgs.InvokeEventHandler(Delegate, Object).)


Creates a shallow copy of the current Object.(Inherited from Object.)


When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes.(Inherited from RoutedEventArgs.)


Returns a string that represents the current object.(Inherited from Object.)

MouseWheelEventArgs is used with the following events:

The Delta property is positive if the mouse wheel is moved upward or forward (away from the user) or negative if the mouse wheel is moved downward or backward (toward the user).

This event is raised even for small mouse wheel movements. For some scenarios, it is appropriate to implement handlers that throttle small mouse wheel deltas by checking whether the delta exceeds a certain threshold. Otherwise, you might invoke your handler for cases where the mouse wheel delta was so small that any UI that is tied to the mouse wheel movement would not update. Exactly how you implement the threshold behavior in a handler and what that threshold should be is entirely implementation-specific.

The following example moves a TextBox up if the mouse wheel Delta is positive and moves the TextBox down if the mouse wheel Delta is negative. The TextBox is attached to a Canvas.

// Moves the TextBox named box when the mouse wheel is rotated.
// The TextBox is on a Canvas named MainCanvas.
private void MouseWheelHandler(object sender, MouseWheelEventArgs e)
    // If the mouse wheel delta is positive, move the box up.
    if (e.Delta > 0)
        if (Canvas.GetTop(box) >= 1)
            Canvas.SetTop(box, Canvas.GetTop(box) - 1);

    // If the mouse wheel delta is negative, move the box down.
    if (e.Delta < 0)
        if ((Canvas.GetTop(box) + box.Height) <= (MainCanvas.Height))
            Canvas.SetTop(box, Canvas.GetTop(box) + 1);


.NET Framework
Available since 3.0
Available since 3.0
Windows Phone Silverlight
Available since 7.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top