ArcGIS Pro 3.7 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 
       Inherits Progressor
    public class CancelableProgressor : Progressor 
    Example
    Cancelable Progressor
    {
      CancelableProgressorSource cps =
        new("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
      // Use await with QueuedTask.Run
      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 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also