ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Framework.Threading.Tasks Namespace / Progressor Class / Max Property
Example

In This Topic
    Max Property (Progressor)
    In This Topic
    Gets or sets the maximum range of the progress meter displayed in the progress dialog.
    Syntax
    Public Property Max As UInteger
    public uint Max {get; set;}
    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);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also