次の方法で共有


InkAnalyzer.Abort メソッド

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

名前空間 :  System.Windows.Ink
アセンブリ :  IAWinFX (IAWinFX.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

戻り値

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

解説

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

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

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

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

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

  • アプリケーションが InkAnalyzer のデータ構造と同期されている独自のデータ構造を保持している場合、Abort を呼び出すと、結果の一部のみを含むドキュメントが作成される場合があります。部分的な結果を回避するためには、InkAnalyzerInkAnalyzerStateChanging イベントを発生させた時点から、InkAnalyzer が IntermediateResults() イベントまたは Results() イベントを発生させる時点までの間は、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 InkAnalyzer = sender

        ' Abort the analysis and get the region that was being analyzed.
        Dim theAnalysisRegion As 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.
        InkAnalyzer theInkAnalyzer =
            sender as InkAnalyzer;

        // Abort the analysis and get the region that was being analyzed.
        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 メンバ

System.Windows.Ink 名前空間

InkAnalyzer.Analyze

InkAnalyzerBaseBackgroundAnalyze()

InkAnalyzer.DirtyRegion