ArcGIS Pro 3.0 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 uint Max {get; set;}
    Public Property Max As UInteger
    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);
    }
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also