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()