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

In This Topic
    Value Property (Progressor)
    In This Topic
    Gets or sets the position of the progress meter displayed in the progress dialog.
    Syntax
    Public Property Value As UInteger
    public uint Value {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