Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

AsyncCompletedEventArgs.Cancelled Property

Definition

Namespace:
System.ComponentModel
Assemblies:
System.dll, System.ComponentModel.EventBasedAsync.dll
Assemblies:
netstandard.dll, System.ComponentModel.EventBasedAsync.dll
Assembly:
System.ComponentModel.EventBasedAsync.dll
Assembly:
System.dll
Assembly:
netstandard.dll
Source:
AsyncCompletedEvent.cs
Source:
AsyncCompletedEvent.cs
Source:
AsyncCompletedEvent.cs
Source:
AsyncCompletedEvent.cs
Source:
AsyncCompletedEvent.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Gets a value indicating whether an asynchronous operation has been canceled.

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

Property Value

true if the background operation has been canceled; otherwise false. The default is false.

Examples

The following code example demonstrates the using an AsyncOperation to track the lifetime of asynchronous operations. This code example is part of a larger example provided for the System.ComponentModel.AsyncOperationManager class.

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

Remarks

When the Cancelled property is true, the asynchronous operation was interrupted.

The client application's event-handler delegate should check the Cancelled property before accessing any properties in a class derived from AsyncCompletedEventArgs; otherwise, the property will raise an InvalidOperationException if the asynchronous operation was interrupted.

Notes to Inheritors

If you provide read-only properties in a derived class, be sure to call the RaiseExceptionIfNecessary() method. This prevents clients from accessing properties that are potentially not valid due to a failure in the asynchronous operation.

Applies to

See also


Feedback

Was this page helpful?