歪兔工具条(YToolsforArcMap)简介之ArcMap插件进度消息通知窗口的实现

一个简单ArcMap插件进度消息通知窗口的实现方法。

一个进度窗体

①搞一个label,塞进一个gif动图,让窗体Show出来的时候一直转啊转啊转;

②搞一个label写点提示文字“请稍等”啥的;再搞一个label用来显示进度。

进度Form的代码如下:

一个进度窗体管理器

ProgressFormManger

代码如下:

进度消息的传递机制

一个委托

public delegate void ProgressChangedEventHandler(object o,ProgressChangedEventArgs e);

一个接口+一个事件

public interface IProgress
    {
        event ProgressChangedEventHandler ProgressChangedEvent;
    }

一个进度消息结构体

/// <summary>
    /// 进度消息结构体。
    /// </summary>
    public struct ProgressChangedEventArgs
    {
        /// <summary>
        /// 当前处理进度
        /// </summary>
        public int CurrentIndex { get; set; }
        /// <summary>
        /// 总的要素个数
        /// </summary>
        public int FeatureCount { get; set; }
        /// <summary>
        /// 文字描述的进度消息
        /// </summary>
        public string Message { get; set; }
    }

一个进度消息发送器

消息通知的发起

工作类继承IProgress接口,实现ProgressChangedEvent事件属性

工作类继承ProgressMessagesSender类,实现OnProgressChange方法。

OnProgressChange(checkProgressChangedEventHandler,index, featureCount);
OnProgressChange(this.progressChangeEventHandler, ">>> 创建待处理要素类的副本。");

进度窗口的更新

定义IProgressSetter接口、扩展方法

工具窗口继承IProgressSetter接口

通过GetArcMapRECT方法获取ArcMap窗口四角坐标的结构体,用以实例化进度窗口时确定其位置。

ShowProgressForm方法传入继承IProgress接口的“处理器”,进度消息窗口实例progressForm,进度消息窗口管理器实例manger,展示进度窗体。

原文地址:https://www.cnblogs.com/yzhyingcool/p/12274592.html

时间: 2024-09-29 02:17:33

歪兔工具条(YToolsforArcMap)简介之ArcMap插件进度消息通知窗口的实现的相关文章

ArcGIS教程:使用 Spatial Analyst 工具条

Spatial Analyst 工具条提供了两个交互式工具,可用于对数据进行简单的探究.选定的图层用于识别这两个工具所作用的栅格. 关于交互式 Spatial Analyst 工具 Spatial Analyst 工具条中包含两个可用的交互式工具.向 ArcMap 的内容列表中添加适当的栅格图层后,这两种工具即变为可用状态. 等值线 创建等值线 交互式工具可用于在单波段栅格上的特定位置创建单条等值线(连接等值像元的线).您可能需要标识具有相同高程.温度或大气压力的位置. 要创建等值线,请按以下步

练习,背景图片开发慕课网右下角工具条

前几天学的慕课的一个课程,侧栏工具条开发.这门课程主要的学习价值: 1. 讲解的案例场景很实用,用到的技术点也较多,主要有css精灵,background-position,css transition,requirejs,sass,图标字体等: 2. 原理分析彻底,html结构清晰,sass逻辑合理,最重要的是在讲解过程中体现出的工作方法和工作态度,都能看出讲师的一些优秀的职业素质: 这门课的练习价值: 1. 掌握以上提到的知识点. 2. 看看在这个过程中会有哪些思考总结. 今天实现的方式是第

压力测试工具tsung用法简介

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用erlang编写的,所以首先安装erlang的运行环境.然后就是按照tsung的官网下载编译tsung.需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展.具体安装过程请看相关手册或者google之. 2.配置文件 默认情况下,tsung会加载配置

网页浮动工具条

1.自动判断浏览器宽度. 当浏览器窗口小于1024时,工具条会自动隐藏 支持浏览器窗口拖拽 2.当拖动浏览器窗口大小时,工具条位置也会相应调整,始终保持贴在网页主体内容右侧. 用到的javascript代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

SWIFT显示底部的工具条

有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态.点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击编辑按钮的方法内写入: self.navigationController?.setToolbarHidden(false, animated: true) var btnDelete = UIBarButtonItem(title: "删除", style: UIBarButtonIte

窗体皮肤实现 - 在标题栏上增加快速工具条(四)

前面做的工作就是想在标题区域增加快速工具条.前续的基础工作完成,想要在标题区域增加特殊区域都非常方便.只要在绘制时控制自定义区域需要占用标题区域多少空间,然后直接在所占位置绘制.做这个事情前,稍微把代码规整了下.所以界面皮肤处理放到一个单元中. 主要处理步骤 1.划出一个新区域(整个工具条作为一个区域) 2.处理区域检测(HitTest) 3.如果是新区域,把相应消息传给这个区域处理. 4.响应鼠标点击,执行Action 通过上述步骤就能扩展出所想要的标题区快速工具条的. 标题按钮区域是作为一个

新浪微博客户端(38)-显示键盘上的工具条

DJComposeToolbar.m #import "DJComposeToolbar.h" @implementation DJComposeToolbar - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNa

侧栏工具条开发

我们能学到什么 1.使用Sass更好的书写CSS 2.使用RequireJS进行模块化开发,编写出方便复用的代码 3.使用CSS3实现简单的动画效果 ########################################################################################## 使用Sass编写css Sass的基础知识 将sass编译成css -- koala工具的使用 http://koala-app.com/index-zh.html 在

DHTMLX 前端框架 建立你的一个应用程序教程(四)--添加一个工具条toolbar

工具条例子 样本如下: 这里我们使用的是dhtmlxToolbar 组件. 添加工具栏到布局中: 1.使用attachToolbar() 方法初始化页面 添加代码到index.html中 dhtmlxEvent(window,"load",function(){ var layout = new dhtmlXLayoutObject(document.body,"2U"); layout.cells("a").setText("Cont