共用方式為


InkPicture.Gesture 事件

當辨識應用程式筆勢時發生。

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink (在 Microsoft.Ink.dll 中)

語法

'宣告
Public Event Gesture As InkCollectorGestureEventHandler
'用途
Dim instance As InkPicture
Dim handler As InkCollectorGestureEventHandler

AddHandler instance.Gesture, handler
public event InkCollectorGestureEventHandler Gesture
public:
 event InkCollectorGestureEventHandler^ Gesture {
    void add (InkCollectorGestureEventHandler^ value);
    void remove (InkCollectorGestureEventHandler^ value);
}
/** @event */
public void add_Gesture (InkCollectorGestureEventHandler value)
/** @event */
public void remove_Gesture (InkCollectorGestureEventHandler value)
JScript 不支援事件。

備註

為了讓這個事件發生,InkPicture 控制項必須與一組應用程式筆勢有關聯。若要設定 InkPicture 控制項與一組筆勢的關聯,請呼叫 SetGestureStatus 方法。

如需特定的應用程式筆勢清單,請參閱 ApplicationGesture 列舉型別。如需應用程式筆勢的詳細資訊,請參閱Using GesturesCommand Input on the Tablet PC

事件處理常式會接收 InkCollectorGestureEventArgs 型別的引數,其中包含這個事件的相關資料

在建立 InkCollectorGestureEventHandler 委派時,您要識別處理事件的方法。若要使事件與您的事件處理常式產生關聯,請將委派的執行個體加入至事件。除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。

CollectionMode 屬性設定為 GestureOnly,從使用者加入筆勢到發生 Gesture 事件之間的逾時值是固定值,您無法利用程式設計方式進行更改。InkAndGesture 模式的筆勢辨識比較快速。

為了避免在 InkAndGesture 模式下收集筆墨:

若要避免處理筆勢時筆墨發生流動,請將 DynamicRendering 屬性設定為 false。

除了在插入筆墨時引發以外,在套用 InkOverlayEditingMode 列舉值 SelectDelete 時,也會引發 Gesture 事件。您負責追蹤編輯模式,並且應該在解譯事件之前注意模式。

ms567662.alert_note(zh-tw,VS.90).gif注意事項:

若要辨識筆勢,您必須使用可以收集筆墨的物件或控制項。

ms567662.alert_note(zh-tw,VS.90).gif注意事項:

InkPicture 控制項會使用 InkCollectorGestureEventHandler 委派來加入筆勢事件處理常式。

範例

這個範例中的事件處理常式會在狀態列標籤 statusLabelAppGesture 上顯示應用程式筆勢資訊。

Private Sub Event_OnApplicationGesture(ByVal sender As Object, ByVal e As InkCollectorGestureEventArgs)

    ' There might be more than one gesture passed in InkCollectorGestureEventArgs
    ' The gestures are arranged in order of confidence from most to least
    ' This event handler is only concerned with the first (most confident) gesture
    Dim G As Gesture = e.Gestures(0)

    ' we will use the gesture if it has confidence of strong or intermediate

    If G.Confidence = RecognitionConfidence.Intermediate Or _
    G.Confidence = RecognitionConfidence.Strong Then

        Select Case G.Id
            Case ApplicationGesture.Left
                statusLabelAppGesture.Text = "Left"
            Case ApplicationGesture.Right
                statusLabelAppGesture.Text = "Right"
            Case ApplicationGesture.Up
                statusLabelAppGesture.Text = "Up"
            Case ApplicationGesture.Down
                statusLabelAppGesture.Text = "Down"
        End Select

    End If
End Sub
void Event_OnApplicationGesture(object sender, InkCollectorGestureEventArgs e)
{
    // There might be more than one gesture passed in InkCollectorGestureEventArgs
    // The gestures are arranged in order of confidence from most to least
    // This event handler is only concerned with the first (most confident) gesture
    Gesture G = e.Gestures[0];

    // we will use the gesture if it has confidence of strong or intermediate

    if (G.Confidence == RecognitionConfidence.Intermediate ||
        G.Confidence == RecognitionConfidence.Strong)
    {

        switch (G.Id)
        {
            case ApplicationGesture.Left:
                statusLabelAppGesture.Text = "Left";
                break;
            case ApplicationGesture.Right:
                statusLabelAppGesture.Text = "Right";
                break;
            case ApplicationGesture.Up:
                statusLabelAppGesture.Text = "Up";
                break;
            case ApplicationGesture.Down:
                statusLabelAppGesture.Text = "Down";
                break;
        }
    }

}

只有您已表示感興趣的應用程式筆勢才會引發這個事件。在這個範例中,InkPicture 物件 (變數名稱為 mInkPicture) 會表示對 ApplicationGesture 列舉型別的四個筆勢感興趣。

' set InkPicture interest in the Left, Right, Up, Down gestures
mInkPicture.SetGestureStatus(ApplicationGesture.Left, True)
mInkPicture.SetGestureStatus(ApplicationGesture.Right, True)
mInkPicture.SetGestureStatus(ApplicationGesture.Up, True)
mInkPicture.SetGestureStatus(ApplicationGesture.Down, True)
// set InkPicture interest in the Left, Right, Up, Down gestures
mInkPicture.SetGestureStatus(ApplicationGesture.Left, true);
mInkPicture.SetGestureStatus(ApplicationGesture.Right, true);
mInkPicture.SetGestureStatus(ApplicationGesture.Up, true);
mInkPicture.SetGestureStatus(ApplicationGesture.Down, true);

收集筆墨或筆勢之前,InkPicture 物件 (變數名稱為 mInkPicture) 會先註冊事件處理常式。

' register the Gesture event handler
AddHandler mInkPicture.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkPicture.Gesture += new InkCollectorGestureEventHandler(Event_OnApplicationGesture);

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkPicture 類別

InkPicture 成員

Microsoft.Ink 命名空間

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlayEditingMode

InkPicture.SetGestureStatus