Condividi tramite


Proprietà RecognizerContextRecognitionWithAlternatesEventArgs.RecognitionStatus

Aggiornamento: novembre 2007

Ottiene un valore dell'enumerazione RecognitionStatus che indica lo stato di riconoscimento ottenuto dal risultato più recente.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public ReadOnly Property RecognitionStatus As RecognitionStatus
'Utilizzo
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

Valore proprietà

Tipo: Microsoft.Ink.RecognitionStatus
Stato di riconoscimento ottenuto dal risultato più recente.

Esempi

In questo esempio viene riconosciuto automaticamente ogni tratto eseguito in un oggetto InkOverlay e viene visualizzato il risultato del riconoscimento.

Quando viene generato l'evento Stroke (in risposta al completamento di un tratto da parte dell'utente), il tratto appena creato viene aggiunto all'insieme Strokes dell'oggetto RecognizerContext e viene chiamato il metodo BackgroundRecognizeWithAlternates, che passa l'ora corrente al parametro customData.

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);
}

Al completamento del riconoscimento in background, viene generato l'evento RecognitionWithAlternates. Durante la gestione di questo evento, i risultati del riconoscimento (incluse le alternative) vengono collocati in una casella di riepilogo. Inoltre, l'ora di inizio del riconoscimento viene recuperata dalla proprietà CustomData dell'oggetto RecognizerContextRecognitionWithAlternatesEventArgs e viene utilizzata per calcolare il tempo totale trascorso necessario per il riconoscimento.

' 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());
    }
}

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

RecognizerContextRecognitionWithAlternatesEventArgs Classe

Membri RecognizerContextRecognitionWithAlternatesEventArgs

Spazio dei nomi Microsoft.Ink

RecognizerContext

RecognizerContextRecognitionWithAlternatesEventArgs

RecognizerContext.RecognitionWithAlternates

RecognizerContext.BackgroundRecognizeWithAlternates