标签:arc 传递 进度 技术 要素类 显示 一个 progress 结构体
一个简单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, ">>> 创建待处理要素类的副本。");
通过GetArcMapRECT方法获取ArcMap窗口四角坐标的结构体,用以实例化进度窗口时确定其位置。
ShowProgressForm方法传入继承IProgress接口的“处理器”,进度消息窗口实例progressForm,进度消息窗口管理器实例manger,展示进度窗体。
歪兔工具条(YToolsforArcMap)简介之ArcMap插件进度消息通知窗口的实现
标签:arc 传递 进度 技术 要素类 显示 一个 progress 结构体
原文地址:https://www.cnblogs.com/yzhyingcool/p/12274592.html