歪兔工具条(YToolsforArcMap)是一款ArcMap插件,采用C#语言开发,目前正在开发中。
其DataChecker(数据检查)功能操作界面如下图。
1.界面
该功能使用DockableWindow作为面板,便于检查参数的设置、留存。
2.检查模块接口
①每一个检查项(类)均实现了 IChecker、ICheckProgressChangeEvent接口。
IChecker接口用来规范检查参数、数据输入,数据检查与输出;ICheckProgressChangeEvent接口提供了进度变化事件。
public interface IChecker
{
IFeatureLayer FeatureLayer { set; }
int FeatureCount { get; }
double Distance { set; }
double Tolerance { set; }
double Angle { set; }
string WorkspacePath { set; }
CheckerType CheckerType { get; }
IFeatureClass Check();
}
public interface ICheckProgressChangeEvent
{
event CheckProgressChangedEventHandler ProgressChangedEvent;
}
②检查执行时运行窗体面板(类)的DoCheck方法,传入IChecker类型参数(检查项)
private void DoCheck(IChecker checker)
{ }
private void AcuteAngleCheck_Click(object sender, EventArgs e)
{
IChecker checker = new PolygonAngleChecker();
this.DoCheck(checker);
}
3.进度消息传递方法
见歪兔工具条(YToolsforArcMap)简介之ArcMap插件进度消息通知窗口的实现 C#