zoukankan      html  css  js  c++  java
  • ArcGIS Pro的进度条

    protected override async void OnClick()
    {
        using (var progress = new ProgressDialog("Showing Progress", "Canceled", 100, false))
        {
            var status = new CancelableProgressorSource(progress);
            status.Max = 100;
            progress.Show();

            await QueuedTask.Run(async () =>
            {
                uint step = 0;
                for (var idx = 0; idx < 10; idx++)
                {
                    await Task.Delay(1000);
                    status.Progressor.Value += 10;
                    status.Progressor.Status = (status.Progressor.Value * 100 / status.Progressor.Max) + @" % Completed";
                    status.Progressor.Message = "Message " + status.Progressor.Value;
                }
            }, status.Progressor);

            progress.Hide();
        }
    }
    ==================================
     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);
            }
     
  • 相关阅读:
    VIM技巧, .vimrc文件
    vSphere Client克隆虚拟机
    vSphere、 ESXi、Vcenter、vSphere Client关系
    消耗系统内存
    zabbix2.4汉化
    普通用户执行ansible权限被拒绝
    putty秘钥转换成xhell支持的格式
    zbb20170922 mysql 字符集设置 比较 utf8_general_ci、utf8_unicode_ci和utf8_bin的区别
    zbb20170920 页面调用qq
    zbb20170919 tomcat 8 启动异常 Could not publish server configuration for Tomcat v8.0 Server at localhost. Multiple Contexts have a path of "A".
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12629425.html
Copyright © 2011-2022 走看看