Add-in组件有Button按钮和Tool工具,两者看上去很类似,但概念和使用上都有很大的区别:
-
Button就是一个很简单、很单一的按钮,基本上能用的只有单击事件(重写OnClick方法),连双击事件都没有。
-
Tool是一个工具,激活工具后接下来就可以用它来干很多事。Tool可以重写很多方法,有OnActivate、OnDeactivate、OnKeyDown、OnKeyUp、OnMouseDown、OnMouseUp、OnRefresh等等。用官方文档的话说就是与应用程序有更多交互。
-
Button是单击(Click),Tool是激活(Activate)。Button单击之后再单击,还能触发事件;Tool激活之后再激活,不能触发事件。ArcGIS里不能同时激活两个同级的工具,激活了第二个,第一个就自动未激活了。
//ArcMap或ArcEngine取消激活
ArcMap.Application.CurrentTool = null;
mapControl.CurrentTool = null;
- 实例:打开现有地图文档的“打开”就是Button按钮,箭头和抓手就是Tool工具。