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
另请参见
参考
InkAnalyzerBaseBackgroundAnalyze()