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 會停止對取消的分析作業引發事件。如果背景分析作業已取消,則這個方法會以非同步方式執行,直到筆墨分析器停止該作業為止。
如果目前未進行任何分析作業,則這個方法會傳回空的分析區域。
如果有一項分析作業正在進行,則這個方法會取消該作業。
如果同步和非同步分析作業正同時進行,則這個方法會取消同步作業。
如果對相同的分析作業多次呼叫這個方法,則第一個呼叫會傳回作業的廢棄區域,後續呼叫則傳回空白區域。
如果您的應用程式自行維護與 InkAnalyzerBase 的資料結構同步處理的資料結構,則呼叫 Abort 可能會在文件中留下不完整的結果。為避免發生這種情況,請不要在 InkAnalyzerBase 引發 InkAnalyzerStateChangingBase 事件和 InkAnalyzerBase 引發 IntermediateResultsUpdatedBase 或 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
請參閱
參考
System.Windows.Ink.AnalysisCore 命名空間