樱木 原文 AE内置Command控件使用
直接使用AE内置的Command控件来完成功能
1、拉框放大
/// <summary> /// 放大 /// </summary> private void btnZoomIn_Click(object sender, EventArgs e) { ControlsMapZoomInTool mapZoomIn = new ControlsMapZoomInTool(); mapZoomIn.OnCreate(axMapMain.Object); axMapMain.CurrentTool = mapZoomIn as ITool; //注意,此处如果写成mapZoomIn.OnClick(); 则不起作用 }
2、中心放大
/// <summary> /// 放大 /// </summary> private void btnZoomIn_Click(object sender, EventArgs e) { ControlsMapZoomInFixedCommand mapZoomIn = new ControlsMapZoomInFixedCommand(); mapZoomIn.OnCreate(axMapMain.Object); mapZoomIn.OnClick(); //此处没有问题 }
总结:当Command对象处理的不只是打开地图,显示全图,中心放大/缩小这类没有与地图交互的功能时,简单的使用OnClick即可,但是当需要的是拖动鼠标控制缩放,空间查询这类必须与地图进行交互的动作时,就必须设置MapControl的CurrentTool属性。