SystemGesture Enumeration


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

Defines the available system gestures.

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

public enum SystemGesture

Member nameDescription

Maps to a left drag on a mouse.


Occurs with a short, quick stroke that translates into a specific command. The action taken by a flick is set system-wide. An application can listen for a Flick and prevent it from becoming one of the standard ApplicationCommands by setting the Handled property to true in the StylusSystemGesture event. Only Windows Vista supports flicks.


Indicates that press and hold has occurred.


Not implemented.


Maps to a mouse hover. This can be used to show ToolTip rollover effects, or other mouse hover behaviors.


Maps to a mouse leaving a hover. This can be used to end ToolTip rollover effects or other mouse hover behaviors.


No system gesture.


Maps to a right drag on a mouse. This can be used to drag an object or selection to a different area and is followed by the appearance of the shortcut menu which provides options for moving the object.


Maps to a right-click on a mouse. This can be used to show a shortcut menu.


Maps to a left-click on a mouse. This can be used to choose a command from the menu or toolbar, take action if a command is chosen, set an insertion point, or show selection feedback.


Maps to a double-click of a mouse.

When the operating system recognizes system gestures, the StylusSystemGesture event occurs. Many of the gestures map to traditional mouse events. For example, the Tap system gesture mimics a single left-click on a mouse.

The following example determines which type of system gesture that raised the SystemGesture event. This example assumes that there is a InkCanvas called inkcanvas1 and that SystemGesture is connected to the event handler below.

void inkCanvas1_StylusSystemGesture(object sender, StylusSystemGestureEventArgs e)
    this.Title = e.SystemGesture.ToString();
    switch (e.SystemGesture)
        case SystemGesture.RightTap:
            // Do something.

        case SystemGesture.Tap:
            // Do something else.

.NET Framework
Available since 3.0
Return to top