共用方式為


InkCollector.Gesture 事件

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

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

語法

'宣告
Public Event Gesture As InkCollectorGestureEventHandler
'用途
Dim instance As InkCollector
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 不支援事件。

備註

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

如需特定的應用程式筆勢清單,請參閱 ApplicationGesture 列舉型別。如需應用程式筆勢的詳細資訊,請參閱Pen Input, Ink, and Recognition

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

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

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

如果不想在 InkAndGesture 模式下收集筆墨:

CollectionMode 設定為 InkAndGesture

  • 刪除 Stroke 事件中的 Stroke 物件。

  • 處理 Gesture 事件中的筆勢。

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

除了在使用者插入筆勢的情況下,當 InkCollector 物件處於選取或清除模式時,也會引發 Gesture 事件。您負責追蹤編輯模式,並且應該在解譯事件之前注意模式。

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

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

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

InkCollector 物件會使用 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;
        }
    }

}

只有您已表示感興趣的應用程式筆勢才會引發這個事件。在這個範例中,InkCollector 物件 (mInkCollector) 會表示與 ApplicationGesture 列舉型別的四個筆勢有相關。

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

收集筆墨或筆勢之前,InkCollector 物件 (mInkCollector) 會先註冊事件處理常式。

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

平台

Windows Vista

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

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkCollector 類別

InkCollector 成員

Microsoft.Ink 命名空間

InkCollectorGestureEventArgs

ApplicationGesture

InkCollector.SetGestureStatus