AE内置Command控件使用

时间:2022-09-06 22:07:39

樱木 原文 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属性。