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 返回一个空的分析区域。

如果有一个分析操作正在执行,则 Abort 取消该操作。

如果同步分析操作和异步分析操作都在执行,则 Abort 取消同步操作。

如果为同一分析操作多次调用此方法,则首次调用返回该操作的已更新区域,后续调用返回空区域。

如果您的应用程序维护其自己的数据结构,该数据结构与 InkAnalyzer 的数据结构同步,则调用 Abort 可造成文档包含的结果不完整。若要避免此问题,请不要在 InkAnalyzer 引发 InkAnalyzerStateChanging 事件和 InkAnalyzer 引发 IntermediateResultsUpdatedResultsUpdated 事件之间调用 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