Export (0) Print
Expand All

AsyncCompletedEventArgs.Cancelled Property

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

Namespace:  System.ComponentModel
Assembly:  System (in System.dll)

'Declaration
Public ReadOnly Property Cancelled As Boolean

Property Value

Type: System.Boolean
true if the background operation has been canceled; otherwise false. The default is false.

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.

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.

Imports System
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. 
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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft