添加命名空间

using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Controls;

A类:前面有Controls 后面有tool的工具都可以用同一类的代码实现(最后的tool或toolclass都可以)

示例:

private void 放大ToolStripMenuItem_Click(object sender, EventArgs e)

{

ICommand Cmd = new ControlsMapZoomInTool();

Cmd.OnCreate(this.axMapControl1.Object);

this.axMapControl1.CurrentTool = Cmd as ITool;

}

同类的方法中用到此方法的还有以下等:

放大: ICommand Cmd = new ControlsMapZoomInTool();

缩小:   ControlsMapZoomOutTool Cmd = new ControlsMapZoomOutTool();

漫游: ControlsMapPanTool Cmd = new ControlsMapPanTool();

绘制矩形:ControlsNewRectangleTool Cmd = new ControlsNewRectangleTool();

绘制圆:ControlsNewCircleTool Cmd = new ControlsNewCircleTool();

绘制椭圆: ControlsNewEllipseTool Cmd = new ControlsNewEllipseTool();

绘制曲线: ControlsNewCurveTool Cmd = new ControlsNewCurveTool();

绘制直线: ControlsNewLineTool Cmd = new ControlsNewLineTool();

绘制点标记: ControlsNewMarkerTool Cmd = new ControlsNewMarkerTool();

流方法绘图: ControlsNewFreeHandTool Cmd = new ControlsNewFreeHandTool();

墨水绘图: ControlsInkPenTool Cmd = new ControlsInkPenTool();

ControlsInkGenericDrawTool Cmd = new ControlsInkGenericDrawTool();

旋转工具:  ControlsMapRotateTool Cmd = new ControlsMapRotateTool();

旋转图形: ControlsRotateElementTool Cmd = new ControlsRotateElementTool();

选择要素:ControlsSelectFeaturesTool Cmd = new ControlsSelectFeaturesTool();

选择图形: ControlsSelectTool Cmd = new ControlsSelectTool();

属性工具: ControlsMapIdentifyTool Cmd = new ControlsMapIdentifyTool();

测量工具: ControlsMapMeasureTool Cmd = new ControlsMapMeasureTool();

超链接工具: ControlsMapHyperlinkTool Cmd = new ControlsMapHyperlinkTool();

B类:Command命令的实现,前面是Controls 后面是CommandClass命令的都可以用这个程序

示例:

全图显示:

ICommand Cmd = new ControlsMapFullExtentCommandClass();

Cmd.OnCreate(this.axMapControl1.Object);

Cmd.OnClick();

类似可以实现的功能有:

坐标查找: ICommand Cmd = new ControlsMapGoToCommand();

查找命令:ICommand Cmd = new ControlsMapFindCommandClass();

创建书签: ICommand Cmd = new ControlsMapCreateBookmarkCommandClass();

墨迹设置:ICommand Cmd = new ControlsInkOptionsCommandClass();

清楚旋转: ICommand Cmd = new ControlsMapClearMapRotationCommandClass();

转到页底:  ICommand Cmd = new ControlsMapPageDownCommandClass();

转到页左: ICommand Cmd = new ControlsMapPageLeftCommandClass();

转到页右: ICommand Cmd = new ControlsMapPageRightCommandClass();

转到页上:ICommand Cmd = new ControlsMapPageUpCommandClass();

向右:  ICommand Cmd = new ControlsMapRightCommandClass();

向上: ICommand Cmd = new ControlsMapUpCommandClass();

中心放大:ICommand Cmd = new ControlsMapZoomInFixedCommandClass();

中心缩小:  ICommand Cmd = new ControlsMapZoomOutFixedCommandClass();

后一视图:  ICommand Cmd = new ControlsMapZoomToLastExtentBackCommandClass();

前一视图: ICommand Cmd = new ControlsMapZoomToLastExtentForwardCommandClass();

地方查找: ICommand Cmd = new ControlsMyPlacesCommandClass();

打开文档: ICommand Cmd = new ControlsOpenDocCommandClass();

撤销:  ICommand Cmd = new ControlsRedoCommandClass();

图形向左旋转: ICommand Cmd = new ControlsRotateLeftCommandClass();

向右旋转: ICommand Cmd = new ControlsRotateRightCommandClass();

文档另存为: ICommand Cmd = new ControlsSaveAsDocCommandClass();

选择第一个图层中的所有元素:ICommand Cmd = new ControlsSelectAllCommandClass();

选择屏幕中的所有部分: ICommand Cmd = new ControlsSelectScreenCommandClass();

撤销命令:ICommand Cmd = new ControlsUndoCommandClass();

缩放到被选择的部分: ICommand Cmd = new ControlsZoomToSelectedCommandClass();

************************************************************

补充:上面的某些功能的其他实现方法

几个特殊的方法:

private void 全图ToolStripMenuItem_Click(object sender, EventArgs e)

{

this.axMapControl1.Extent = this.axMapControl1.FullExtent;

}

private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)

{

axMapControl1.Refresh();

}

private void 中心放大ToolStripMenuItem_Click(object sender, EventArgs e)

{

IEnvelope objEnvelope = null;

objEnvelope = axMapControl1.Extent;

objEnvelope.Expand(0.2, 0.2, true);

axMapControl1.Extent = objEnvelope;

}

private void 中心缩小ToolStripMenuItem_Click(object sender, EventArgs e)

{

IEnvelope objEnvelope = null;

objEnvelope = axMapControl1.Extent;

objEnvelope.Expand(2, 2, true);

axMapControl1.Extent = objEnvelope;

}

private void 前一视图ToolStripMenuItem_Click(object sender, EventArgs e)

{

IExtentStack pExtentStack = null;

pExtentStack = axMapControl1.ActiveView.ExtentStack;

if (pExtentStack.CanUndo())

{

pExtentStack.Undo();

}

axMapControl1.Refresh();

}

private void 后一视图ToolStripMenuItem_Click(object sender, EventArgs e)

{

IExtentStack pExtentStack = null;

pExtentStack = axMapControl1.ActiveView.ExtentStack;

if (pExtentStack.CanRedo())

{

pExtentStack.Redo();

}

axMapControl1.Refresh();

}

AE中实现Control中的各种图形工具的方法的更多相关文章

  1. AE开发中实现Control中的各种图形工具的方法(转)

    Controls中的工具基本可以分为两类: 第一类:点击工具图标或按钮后,当前axMapControl的工具即为所点击的工具命令. 前面有Controls 后面有tool的工具都可以用同一类的代码实现 ...

  2. 关于eclipse中DDMS中Emulator Control选项卡为灰色不可用

    首先先感谢版主:http://blog.csdn.net/noname666/article/details/51670905#reply 方法一的出处:http://stackoverflow.co ...

  3. Sublime text 3 中Package Control 的安装与使用方法和解决Sublime Text 3不能正确显示中文的问题

    Sublime text 3 中Package Control 的安装与使用方法,英文好可以在这个网址看看, 下面简单的说明一下 : https://packagecontrol.io/install ...

  4. ArcGIS中如何导出单个矢量要素图形

    原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(att ...

  5. MVC之Control中使用AOP

    原文转载自http://www.cnblogs.com/iamlilinfeng/archive/2013/03/02/2940162.html 本文目标 一.能够使用Control中的AOP实现非业 ...

  6. Control中的AOP实现非业务需求

    一.能够使用Control中的AOP实现非业务需求的功能 本文目录 一.ActionFilterAttribute类 二.实现自定义Attribute 一.ActionFilterAttribute类 ...

  7. web forms page和control的生命周期life cycle交互,以及page生命周期中每个event中需要做什么事情

    只有 page_load和page_init这些可以autoeventwireup RenderControl只提供override public override void RenderContro ...

  8. WPF中CAD control的XAML实现

    原文:WPF中CAD control的XAML实现     下面这个XAML文件是cad control里面最重要的一部分,使用Grid包含Viewport,Viewport中包括Camera和mod ...

  9. OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)?

    OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)? 图形硬件供应商,需要为显示适配器编,编写用户模式显示驱动程序.用户模式显示驱动程序,是由Microsoft Direct3D运行时加 ...

随机推荐

  1. phonegap二维码扫描插件

    原文出处:http://rensanning.iteye.com/blog/2034026 谈谈我使用这个的体会吧; git地址 https://github.com/wildabeast/Barco ...

  2. 带搜索框的select下拉框

    利用select2制作带有搜索功能的select下拉框 1.引入线上css和js <link href="https://cdnjs.cloudflare.com/ajax/libs/ ...

  3. 汇编:实现C语言的 ||与&&运算

    ;C程序转汇编(或运算链接) DATAS SEGMENT a Dw b dw cc dw d dw m dw n dw string db dup(?) DATAS ends CODES SEGMEN ...

  4. Eclipse搭建SpringBoot

    第一种方法(不建议) 首先新建Maven工程 勾选第一个按钮,第三个是选择working set ,你可以不选 下一步,配置工程信息,注意打包为jar 打开pom.xml文件,添加spring-boo ...

  5. 课时16.HTML-XHTML-HTML5区别(了解)

    简而言之 HTML语法非常宽松容错性强: XHTML更为严格,它要求标签必须小写,必须严格闭合,标签中的属性必须使用引号引起等等. HTML5是HTML的下一个版本所以除了非常宽松容错性强以外,还增加 ...

  6. elasticsearch 5.x 系列之七 基于索引别名的零停机升级服务

    一,写在前面的话,elasticsearch 建立索引时的Mapping 设置 建议你在设计索引的初期,就把索引的各个字段设计好,因为,elasticsearch 的各个字段,定义好类型后,就无法进行 ...

  7. linux学习(1)——这是一个新的开始,加油吧少年

     (一)自己简单总结 学会使用简单命令 Tab:实现自动补全功能 Ctrl+D:退出当前终端 Ctrl+Z:暂停当前进程 Ctrl+L:清屏 Ctrl+A:可以让光标移动到最前列 Ctrl+E:可以让 ...

  8. The Extinction of Some Languages【一些语言的消失】

    The Extinction of Some Languages Languages have been coming and going for thousands of years, 语言的产生和 ...

  9. 001---web应用程序

    什么是web应用? 应用程序分两种模式:C/S.B/S 1 .C/S:客户端(Client)与服务端 一般独立运行 2 .B/S:浏览器(Browser)与服务端 这类应用要借助浏览器:谷歌.火狐.I ...

  10. Hibernate---数据操作示例BY实体映射文件

    创建一个Student.java类:该类需要一个无参的构造函数,以及属性的get/set方法 public class Student implements Serializable { privat ...