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);
            }
     
  • 相关阅读:
    安装pyamf碰到的问题及其解决方法^_^(原创)
    django建立模型的一些体会(原创)
    终于搞完第三个作业了~~
    django传递嵌套对象给flex前端的方法(原创)
    flex:在一个.as文件中调用另一个.as文件的public函数(原创)
    hdu(4339)树状数组+二分查找
    1504: ZZ的橱柜(长沙理工oj)
    zoj(2110)Tempter of the Bone(DFS+奇偶剪枝)
    hdu(4267)A Simple Problem with Integers(三维树状数组)
    [USACO 1.5.3]特殊的质数肋骨
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12629425.html
Copyright © 2011-2022 走看看