AsyncCompletedEventArgs.Cancelled Egenskap

Definition

Hämtar ett värde som anger om en asynkron åtgärd har avbrutits.

public:
 property bool Cancelled { bool get(); };
public bool Cancelled { get; }
member this.Cancelled : bool
Public ReadOnly Property Cancelled As Boolean

Egenskapsvärde

true om bakgrundsåtgärden har avbrutits. annars false. Standardvärdet är false.

Exempel

I följande kodexempel visas hur du använder en AsyncOperation för att spåra livslängden för asynkrona åtgärder. Det här kodexemplet är en del av ett större exempel för System.ComponentModel.AsyncOperationManager klassen.

using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
Imports System.Collections
Imports System.Collections.Specialized
Imports System.ComponentModel
Imports System.Drawing
Imports System.Globalization
Imports System.Threading
Imports System.Windows.Forms
// This event handler updates the ListView control when the
// PrimeNumberCalculator raises the CalculatePrimeCompleted
// event. The ListView item is updated with the appropriate
// outcome of the calculation: Canceled, Error, or result.
void primeNumberCalculator1_CalculatePrimeCompleted(
    object sender,
    CalculatePrimeCompletedEventArgs e)
{
    Guid taskId = (Guid)e.UserState;

    if (e.Cancelled)
    {
        string result = "Canceled";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Pink;
            lvi.Tag = null;
        }
    }
    else if (e.Error != null)
    {
        string result = "Error";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Red;
            lvi.ForeColor = Color.White;
            lvi.Tag = null;
        }
    }
    else
    {
        bool result = e.IsPrime;

        ListViewItem lvi = UpdateListViewItem(
            taskId,
            result,
            e.FirstDivisor);

        if (lvi != null)
        {
            lvi.BackColor = Color.LightGray;
            lvi.Tag = null;
        }
    }
}
' This event handler updates the ListView control when the
' PrimeNumberCalculator raises the CalculatePrimeCompleted
' event. The ListView item is updated with the appropriate
' outcome of the calculation: Canceled, Error, or result.
Private Sub primeNumberCalculator1_CalculatePrimeCompleted( _
    ByVal sender As Object, _
    ByVal e As CalculatePrimeCompletedEventArgs) _
    Handles primeNumberCalculator1.CalculatePrimeCompleted

    Dim taskId As Guid = CType(e.UserState, Guid)

    If e.Cancelled Then
        Dim result As String = "Canceled"

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, _
            result)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.Pink
            lvi.Tag = Nothing
        End If

    ElseIf e.Error IsNot Nothing Then

        Dim result As String = "Error"

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, result)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.Red
            lvi.ForeColor = Color.White
            lvi.Tag = Nothing
        End If
    Else
        Dim result As Boolean = e.IsPrime

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, _
            result, _
            e.FirstDivisor)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.LightGray
            lvi.Tag = Nothing
        End If
    End If

End Sub

Kommentarer

När egenskapen Cancelled är trueavbröts den asynkrona åtgärden.

Klientprogrammets händelsehanterardelegat bör kontrollera Cancelled egenskapen innan du kommer åt några egenskaper i en klass som härletts från AsyncCompletedEventArgs. Annars genereras en InvalidOperationException om den asynkrona åtgärden avbröts.

Anteckningar till arvingar

Om du anger skrivskyddade egenskaper i en härledd klass ska du anropa RaiseExceptionIfNecessary() metoden. Detta hindrar klienter från att komma åt egenskaper som potentiellt inte är giltiga på grund av ett fel i den asynkrona åtgärden.

Gäller för

Se även