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);
            }
     
  • 相关阅读:
    Android SQLite 建立多表间的主外键关系 Binary
    Android——扩大ImageButton的点击区域 Binary
    Android——刷新媒体库 Binary
    Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令 转自:南水江的鸽子窝
    在同一应用中混合使用ASP.NET窗体和ASP.NET MVC 转自:geez的个人空间
    ASP.NET WebApplication 发布部署
    Oracle 导出索引Sequence!!
    获取ORACLE 表字段,表名,以及主键之类等等的信息
    FlexGrid 控件的使用 摘自:大道至简
    整合 DZNT到自己网站
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12629425.html
Copyright © 2011-2022 走看看