次の方法で共有


RecognitionResult.SetResultOnStrokes メソッド

RecognitionResult オブジェクトを、結果の生成に使用された Strokes コレクションに割り当てます。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Sub SetResultOnStrokes
'使用
Dim instance As RecognitionResult

instance.SetResultOnStrokes()
public void SetResultOnStrokes()
public:
void SetResultOnStrokes()
public void SetResultOnStrokes()
public function SetResultOnStrokes()

解説

すべての Strokes コレクションに自動的に認識結果を割り当てると、システムのパフォーマンスが低下する可能性があります。そのため、既定の設定では、結果が Strokes コレクションに結合されることはありません。結果を Strokes コレクションに割り当てるには、SetResultOnStrokes メソッドを呼び出す必要があります。Strokes コレクションの認識結果を返すには、Strokes コレクションの RecognitionResult プロパティを使用します。結果を Strokes コレクションに割り当てると、ストロークを CustomStrokes コレクションに保存できるようになります。このようなカスタム ストロークと、RecognitionResult を永続化して、後で取り出して使用することができます。

この例では、メニュー項目やボタンのクリックといったユーザーの操作に対応して同期認識が処理されます。まず、RecognizerContext オブジェクトの Strokes コレクションが、InkOverlay オブジェクトに関連付けられた Strokes コレクションから割り当てられ、ストロークの数がチェックされます。Strokes コレクションに少なくとも 1 つの Stroke オブジェクトが含まれる場合、Recognize メソッドの呼び出しにより認識処理が開始されます。認識に成功すると、対応する Strokes コレクションに RecognizerContext オブジェクトをアタッチするために SetResultOnStrokes メソッドが呼び出されます。最後に、名前付きコレクション CustomStrokes として Strokes コレクションが保存されます。これにより、アタッチされた RecognitionResult も保存されます。

' assign strokes collection from the collected strokes
Me.mRecognizerContext.Strokes = Me.mInkOverlay.Ink.Strokes
' check stroke count. Recognize() will throw exception if no strokes
If Me.mRecognizerContext.Strokes.Count > 0 Then
    Dim status As RecognitionStatus
    ' perform the recognition
    Dim rResult As RecognitionResult = Me.mRecognizerContext.Recognize(status)
    ' check status
    If RecognitionStatus.NoError = status Then
        ' attach RecognitionResult to the Strokes collection
        rResult.SetResultOnStrokes()
        ' save the strokes collection (with RecognitionResult attached)
        Try
            mInkOverlay.Ink.CustomStrokes.Add("customCollectionName", rResult.Strokes)
        Catch ex As ArgumentException
            ' this exception is raised when the named collection already exists
        End Try
    End If
End If
// assign strokes collection from the collected strokes
this.mRecognizerContext.Strokes = this.mInkOverlay.Ink.Strokes;
// check stroke count. Recognize() will throw exception if no strokes
if (this.mRecognizerContext.Strokes.Count > 0)
{
    RecognitionStatus status;
    // perform the recognition
    RecognitionResult rResult = this.mRecognizerContext.Recognize(out status);
    // check status
    if (RecognitionStatus.NoError == status)
    {
        // attach RecognitionResult to the Strokes collection
        rResult.SetResultOnStrokes();
        // save the strokes collection (with RecognitionResult attached)
        try
        {
            mInkOverlay.Ink.CustomStrokes.Add("customCollectionName", rResult.Strokes);
        }
        catch (ArgumentException)
        {
            // this exception is raised when the named collection already exists
        }
    }
}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

RecognitionResult クラス

RecognitionResult メンバ

Microsoft.Ink 名前空間

Strokes

CustomStrokes