This documentation is archived and is not being maintained.

MouseWheelEventArgs Class

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

The MouseWheelEventArgs type exposes the following members.

Public methodMouseWheelEventArgsInitializes a new instance of the MouseWheelEventArgs class.

Public propertyDeltaGets a value that indicates the amount that the mouse wheel has changed.
Public propertyDeviceGets the input device that initiated this event. (Inherited from InputEventArgs.)
Public propertyHandledGets 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.)
Public propertyLeftButtonGets the current state of the left mouse button. (Inherited from MouseEventArgs.)
Public propertyMiddleButtonGets the current state of the middle mouse button. (Inherited from MouseEventArgs.)
Public propertyMouseDeviceGets the mouse device associated with this event. (Inherited from MouseEventArgs.)
Public propertyOriginalSourceGets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. (Inherited from RoutedEventArgs.)
Public propertyRightButtonGets the current state of the right mouse button. (Inherited from MouseEventArgs.)
Public propertyRoutedEventGets or sets the RoutedEvent associated with this RoutedEventArgs instance. (Inherited from RoutedEventArgs.)
Public propertySourceGets or sets a reference to the object that raised the event. (Inherited from RoutedEventArgs.)
Public propertyStylusDeviceGets the stylus device associated with this event. (Inherited from MouseEventArgs.)
Public propertyTimestampGets the time when this event occurred. (Inherited from InputEventArgs.)
Public propertyXButton1Gets the current state of the first extended mouse button. (Inherited from MouseEventArgs.)
Public propertyXButton2Gets the state of the second extended mouse button. (Inherited from MouseEventArgs.)

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetPositionReturns the position of the mouse pointer relative to the specified element. (Inherited from MouseEventArgs.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodInvokeEventHandlerInvokes event handlers in a type-specific way, which can increase event system efficiency. (Overrides MouseEventArgs.InvokeEventHandler(Delegate, Object).)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnSetSourceWhen 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.)
Public methodToStringReturns 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

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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