次の方法で共有


InkAnalyzerBase.Abort メソッド

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

名前空間 :  System.Windows.Ink.AnalysisCore
アセンブリ :  IACore (IACore.dll 内)

構文

'宣言
Public Function Abort As AnalysisRegionBase
'使用
Dim instance As InkAnalyzerBase
Dim returnValue As AnalysisRegionBase

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

戻り値

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

解説

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

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

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

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

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

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

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

この例では、インク アナライザの ActivityBase イベントを処理するイベント ハンドラを定義しています。分析処理をキャンセルする必要がある場合、イベント ハンドラはイベントを生成した InkAnalyzerBase の Abort を呼び出し、アナライザの 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 theInkAnalyzerBase_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 analyzer that raised the Activity event.
        Dim theInkAnalyzerBase As System.Windows.Ink.AnalysisCore.InkAnalyzerBase = _
            DirectCast(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase)

        ' Abort the analysis and get the region that was being analyzed.
        Dim theAnalysisRegionBase As System.Windows.Ink.AnalysisCore.AnalysisRegionBase = _
            theInkAnalyzerBase.Abort()

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

End Sub 'theInkAnalyzerBase_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 theInkAnalyzerBase_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 analyzer that raised the Activity event.
        System.Windows.Ink.AnalysisCore.InkAnalyzerBase theInkAnalyzerBase =
            sender as System.Windows.Ink.AnalysisCore.InkAnalyzerBase;

        // Abort the analysis and get the region that was being analyzed.
        System.Windows.Ink.AnalysisCore.AnalysisRegionBase theAnalysisRegionBase =
            theInkAnalyzerBase.Abort();

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

プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkAnalyzerBase クラス

InkAnalyzerBase メンバ

System.Windows.Ink.AnalysisCore 名前空間

InkAnalyzerBase.Analyze

InkAnalyzerBase.BackgroundAnalyze

InkAnalyzerBase.DirtyRegion