共用方式為


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 會傳回空的分析區域。

  • 如果有一項分析作業正在進行,則 Abort 會取消該作業。

  • 如果同步和非同步分析作業正同時進行,則 Abort 會取消同步作業。

  • 如果針對相同的分析作業多次呼叫這個方法,則第一個呼叫會傳回作業的已變更區域,後續的呼叫則都會傳回空白區域。

  • 如果您的應用程式自行維護與 InkAnalyzer 的資料結構同步處理的資料結構,則呼叫 Abort 可能會產生只包含部分結果的文件。為避免部分結果,從 InkAnalyzer 引發 InkAnalyzerStateChanging 事件至 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