Freigeben über


RecognizerContextRecognitionWithAlternatesEventArgs.RecognitionStatus-Eigenschaft

Ruft einen RecognitionStatus-Enumerationswert ab, der den Erkennungsstatus ab dem neuesten Erkennungsergebnis angibt.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public ReadOnly Property RecognitionStatus As RecognitionStatus
'Usage
Dim instance As RecognizerContextRecognitionWithAlternatesEventArgs
Dim value As RecognitionStatus

value = instance.RecognitionStatus
public RecognitionStatus RecognitionStatus { get; }
public:
property RecognitionStatus RecognitionStatus {
    RecognitionStatus get ();
}
/** @property */
public RecognitionStatus get_RecognitionStatus()
public function get RecognitionStatus () : RecognitionStatus

Eigenschaftenwert

Typ: Microsoft.Ink.RecognitionStatus
Der Erkennungsstatus ab dem neuesten Erkennungsergebnis.

Beispiele

In diesem Beispiel wird jeder in einem InkOverlay-Objekt ausgeführte Strich automatisch erkannt, und das Erkennungsergebnis wird angezeigt.

Beim Auslösen des Stroke-Ereignisses (als Reaktion auf das Abschließen eines Strichs durch den Benutzer) wird der Strokes-Auflistung des RecognizerContext-Objekts der neu erstellte Strich hinzugefügt, und die BackgroundRecognizeWithAlternates-Methode wird aufgerufen, wobei die aktuelle Zeit an den customData-Parameter übergeben wird.

Private Sub mInkOverlay_Stroke3(ByVal sender As Object, ByVal e As InkCollectorStrokeEventArgs)
    ' in case background recognition is still occurring, stop it
    mRecognizerContext.StopBackgroundRecognition()
    ' add the stroke, and start recognition
    mRecognizerContext.Strokes.Add(e.Stroke)
    mRecognizerContext.BackgroundRecognizeWithAlternates(DateTime.Now)
End Sub
private void mInkOverlay_Stroke3(object sender, InkCollectorStrokeEventArgs e)
{
    // in case background recognition is still occurring, stop it
    mRecognizerContext.StopBackgroundRecognition();
    // add the stroke, and start recognition, passing current time
    mRecognizerContext.Strokes.Add(e.Stroke);
    mRecognizerContext.BackgroundRecognizeWithAlternates(DateTime.Now);
}

Wenn die Hintergrunderkennung abgeschlossen wurde, wird das RecognitionWithAlternates-Ereignis ausgelöst. Während des Behandelns dieses Ereignisses werden die Ergebnisse der Erkennung (einschließlich der Alternativen) in einem Listenfeld platziert. Darüber hinaus wird die Zeit, zu der die Erkennung begonnen hat, von der CustomData-Eigenschaft des RecognizerContextRecognitionWithAlternatesEventArgs-Objekts abgerufen und bei der Berechnung der insgesamt abgelaufenen Zeit für die Erkennung verwendet.

' event fires when recognition results (without alternates) are ready
Private Sub RecognizerContext_Recognition(ByVal sender As Object, _
            ByVal e As RecognizerContextRecognitionEventArgs)
    ' when updating a control, must use Invoke() since controls are
    ' not thread safe and recognition occurs on a different thread
    If Me.InvokeRequired Then
        ' recursively call this method via Invoke()
        Me.Invoke( _
            New RecognizerContextRecognitionEventHandler(AddressOf RecognizerContext_Recognition), _
            New Object() {sender, e} _
        )
        Return
    End If
    If RecognitionStatus.NoError = e.RecognitionStatus Then
        listBoxRecognitionResults.Items.Add(e.Text)
        ' get the custom data and calculate elapsed time
        Dim startTime As DateTime = DirectCast(e.CustomData, DateTime)
        Dim endTime As DateTime = DateTime.Now
        Dim span As TimeSpan = New TimeSpan(endTime.Ticks - startTime.Ticks)
        ' display the number of seconds for this recognition to finish
        listBoxRecognitionResults.Items.Add(span.TotalSeconds.ToString())
    End If
End Sub
// event fires when recognition results (without alternates) are ready
private void RecognizerContext_Recognition(object sender, RecognizerContextRecognitionEventArgs e)
{
    // when updating a control, must use Invoke() since controls are
    // not thread safe and recognition occurs on a different thread
    if (this.InvokeRequired)
    {
        // recursively call this method via Invoke()
        this.Invoke(
            new RecognizerContextRecognitionEventHandler(RecognizerContext_Recognition),
            new object[] { sender, e }
            );
        return;
    }

    if (RecognitionStatus.NoError == e.RecognitionStatus)
    {
        listBoxRecognitionResults.Items.Add(e.Text);
        // get the custom data and calculate elapsed time
        DateTime startTime = (DateTime)e.CustomData;
        DateTime endTime = DateTime.Now;
        TimeSpan span = new TimeSpan(endTime.Ticks - startTime.Ticks);
        // display the number of seconds for this recognition to finish
        listBoxRecognitionResults.Items.Add(span.TotalSeconds.ToString());
    }
}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

RecognizerContextRecognitionWithAlternatesEventArgs-Klasse

RecognizerContextRecognitionWithAlternatesEventArgs-Member

Microsoft.Ink-Namespace

RecognizerContext

RecognizerContextRecognitionWithAlternatesEventArgs

RecognizerContext.RecognitionWithAlternates

RecognizerContext.BackgroundRecognizeWithAlternates