AsyncCompletedEventArgs.Cancelled Propriété

Définition

Obtient une valeur qui indique si une opération asynchrone a été annulée.

C#
public bool Cancelled { get; }

Valeur de propriété

true si l'opération d'arrière-plan a été annulée ; sinon, false. La valeur par défaut est false.

Exemples

L’exemple de code suivant illustre l’utilisation d’un AsyncOperation pour suivre la durée de vie des opérations asynchrones. Cet exemple de code fait partie d’un exemple plus grand fourni pour la System.ComponentModel.AsyncOperationManager classe .

C#
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
C#
// 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 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;
        }
    }
}

Remarques

Lorsque la Cancelled propriété est true, l’opération asynchrone a été interrompue.

Le délégué du gestionnaire d’événements de l’application cliente doit case activée la Cancelled propriété avant d’accéder aux propriétés d’une classe dérivée de AsyncCompletedEventArgs; sinon, la propriété déclenche un InvalidOperationException si l’opération asynchrone a été interrompue.

Notes pour les héritiers

Si vous fournissez des propriétés en lecture seule dans une classe dérivée, veillez à appeler la RaiseExceptionIfNecessary() méthode . Cela empêche les clients d’accéder à des propriétés potentiellement non valides en raison d’un échec de l’opération asynchrone.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Voir aussi