Compartir a través de


InkAnalyzerBase.Abort (Método)

Actualización: noviembre 2007

Cancela la operación de análisis actual.

Espacio de nombres:  System.Windows.Ink.AnalysisCore
Ensamblado:  IACore (en IACore.dll)

Sintaxis

'Declaración
Public Function Abort As AnalysisRegionBase
'Uso
Dim instance As InkAnalyzerBase
Dim returnValue As AnalysisRegionBase

returnValue = instance.Abort()
public AnalysisRegionBase Abort()
public:
AnalysisRegionBase^ Abort()
public AnalysisRegionBase Abort()
public function Abort() : AnalysisRegionBase

Valor devuelto

Tipo: System.Windows.Ink.AnalysisCore.AnalysisRegionBase
La región modificada para la operación de análisis actual.

Comentarios

Una vez llamado este método, el objeto InkAnalyzerBase deja de provocar eventos para la operación de análisis cancelada. Si se cancela una operación de análisis en segundo plano, este método se ejecuta de forma asincrónica hasta que el analizador de entrada manuscrita detiene la operación.

Si no hay ninguna operación de análisis en curso, este método devuelve una región de análisis vacía.

Si hay una operación de análisis en curso, este método cancela la operación.

Si hay operaciones de análisis sincrónicas y asincrónicas en curso, este método cancela la operación sincrónica.

Si se llama a este método más de una vez para la misma operación de análisis, la primera llamada devuelve la región modificada de la operación y las llamadas posteriores devuelven una región vacía.

Si la aplicación mantiene su propia estructura de datos que se sincroniza con la del objeto InkAnalyzerBase, si se llama al método Abort el documento puede obtener resultados parciales. Para evitar esto, no llame al método Abort entre el momento en el que el objeto InkAnalyzerBase provoca el evento InkAnalyzerStateChangingBase y el momento en el que el objeto InkAnalyzerBase provoca el evento ResultsUpdatedBase o IntermediateResultsUpdatedBase.

Para obtener más información sobre la sincronización de los datos de la aplicación con el analizador de entrada manuscrita, vea Data Proxy with Ink Analysis.

Ejemplos

En este ejemplo se define un controlador para el evento ActivityBase del analizador de entrada manuscrita. Si debe cancelar la operación de análisis, el controlador de eventos llama al método Abort en el objeto InkAnalyzerBase que generó el evento y actualiza la propiedad DirtyRegion del analizador.

''' <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);
    }
}

Plataformas

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkAnalyzerBase (Clase)

InkAnalyzerBase (Miembros)

System.Windows.Ink.AnalysisCore (Espacio de nombres)

InkAnalyzerBase.Analyze

InkAnalyzerBase.BackgroundAnalyze

InkAnalyzerBase.DirtyRegion