ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Framework.Threading.Tasks Namespace / CancelableProgressor Class
Members Example

In This Topic
    CancelableProgressor Class
    In This Topic
    Indicates the progress of an operation that is cancelable.
    Object Model
    CancelableProgressor ClassCancelableProgressor Class
    Syntax
    public class CancelableProgressor : Progressor 
    Public Class CancelableProgressor 
       Inherits Progressor
    Example
    Progressor - Cancelable
    public async Task Progressor_Cancelable()
    {
      ArcGIS.Desktop.Framework.Threading.Tasks.CancelableProgressorSource cps =
        new ArcGIS.Desktop.Framework.Threading.Tasks.CancelableProgressorSource("Doing my thing - cancelable", "Canceled");
    
      int numSecondsDelay = 5;
      //If you run this in the DEBUGGER you will NOT see the dialog
    
      //simulate doing some work which can be canceled
      await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
      {
        cps.Progressor.Max = (uint)numSecondsDelay;
        //check every second
        while (!cps.Progressor.CancellationToken.IsCancellationRequested)
        {
          cps.Progressor.Value += 1;
          cps.Progressor.Status = "Status " + cps.Progressor.Value;
          cps.Progressor.Message = "Message " + cps.Progressor.Value;
    
          if (System.Diagnostics.Debugger.IsAttached)
          {
            System.Diagnostics.Debug.WriteLine(string.Format("RunCancelableProgress Loop{0}", cps.Progressor.Value));
          }
          //are we done?
          if (cps.Progressor.Value == cps.Progressor.Max) break;
          //block the CIM for a second
          Task.Delay(1000).Wait();
    
        }
        System.Diagnostics.Debug.WriteLine(string.Format("RunCancelableProgress: Canceled {0}",
                                            cps.Progressor.CancellationToken.IsCancellationRequested));
    
      }, cps.Progressor);
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Framework.Threading.Tasks.Progressor
          ArcGIS.Desktop.Framework.Threading.Tasks.CancelableProgressor

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also