次の方法で共有


InkAnalyzer.Abort メソッド

現在の分析処理をキャンセルします。

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

構文

'宣言
Public Function Abort As AnalysisRegion
'使用
Dim instance As InkAnalyzer
Dim returnValue As AnalysisRegion

returnValue = instance.Abort()
public AnalysisRegion Abort()
public:
AnalysisRegion^ Abort()
public AnalysisRegion Abort()
public function Abort() : AnalysisRegion

戻り値

型 : Microsoft.Ink.AnalysisRegion
現在の分析処理のダーティ領域。

解説

このメソッドが呼び出されると、InkAnalyzer はキャンセルされた処理のイベントの発生を停止します。バックグラウンド分析処理がキャンセルされた場合、このメソッドは InkAnalyzer が処理を停止するまで、非同期で実行されます。

進行中の分析処理がない場合、Abort は空の分析領域を返します。

進行中の分析処理が 1 つある場合、Abort は処理をキャンセルします。

同期分析処理と非同期分析処理の両方が進行中の場合、Abort は同期処理をキャンセルします。

このメソッドが同じ分析処理で複数回呼び出された場合、最初の呼び出しでは処理のダーティ領域が返され、その後の呼び出しでは空の領域が返されます。

アプリケーションが InkAnalyzer のデータ構造と同期されている独自のデータ構造を保持している場合、Abort を呼び出すと、ドキュメントに結果の一部が含まれたままになります。これを回避するには、InkAnalyzerInkAnalyzerStateChanging イベントを発生させたときと InkAnalyzerIntermediateResultsUpdated または ResultsUpdated イベントを発生させたときの間に、Abort を呼び出さないでください。

アプリケーション データと InkAnalyzer の同期の詳細については、「Data Proxy with Ink Analysis」を参照してください。

この例では、InkAnalyzer.Activity イベントを処理するイベント ハンドラを定義しています。分析処理をキャンセルする必要がある場合、イベント ハンドラはイベントを生成した InkAnalyzer の Abort を呼び出し、InkAnalyzer オブジェクトの DirtyRegion を更新します。

''' <summary>
''' The ink analyzer's Activity event handler.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInkAnalyzer_Activity(ByVal sender As Object, ByVal e As EventArgs)
    Dim abortAnalysis As Boolean = False

    ' Check if the analysis operation should be canceled.
    ' Abort analysis if the flag to do so is set.
    If abortAnalysis Then
        ' Get the InkAnalyzer that raised the Activity event.
        Dim theInkAnalyzer As Microsoft.Ink.InkAnalyzer = _
            DirectCast(sender, Microsoft.Ink.InkAnalyzer)

        ' Abort the analysis and get the region that was being analyzed.
        Dim theAnalysisRegion As Microsoft.Ink.AnalysisRegion = _
            theInkAnalyzer.Abort()

        ' Add the region that was being analyzed to the analyzer's dirty region.
        theInkAnalyzer.DirtyRegion.Union(theAnalysisRegion)
    End If

End Sub 'theInkAnalyzer_Activity
/// <summary>
/// The ink analyzer's Activity event handler.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInkAnalyzer_Activity(object sender, EventArgs e)
{
    bool abortAnalysis = false;

    // Check if the analysis operation should be canceled.

    // Abort analysis if the flag to do so is set.
    if (abortAnalysis)
    {
        // Get the InkAnalyzer that raised the Activity event.
        Microsoft.Ink.InkAnalyzer theInkAnalyzer =
            sender as Microsoft.Ink.InkAnalyzer;

        // Abort the analysis and get the region that was being analyzed.
        Microsoft.Ink.AnalysisRegion theAnalysisRegion = theInkAnalyzer.Abort();

        // Add the region that was being analyzed to the analyzer's dirty region.
        theInkAnalyzer.DirtyRegion.Union(theAnalysisRegion);
    }
}

プラットフォーム

Windows Vista

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkAnalyzer クラス

InkAnalyzer メンバ

Microsoft.Ink 名前空間

InkAnalyzer.Analyze

InkAnalyzer.BackgroundAnalyze

InkAnalyzer.DirtyRegion