MapControl对应ArcMap中的数据视图,它封装了Map对象,并提供了额外的属性、方法、事件用于:
1 管理控件的外观、显示属性和地图属性
2 添加并管理控件中的数据层
3 装载Map文档控件中
4 从其它应用程序拖放数据到控件中
5 tracking shapes and drawing to the display
MapControl实现的主要接口有:IMapControlDefault IMapControl2 IMapControl3和事件接口IMapControlEvents2
IMapControlDefault接口是地图控件缺省接口,多数开发环境自动使用这个接口定义的属性和方法。由于MapControl是一个自动化控件,当它被放到一个容器---如窗体上后,它会自动产生一个被称为axMapControl1的对象,这个对象可以直接使用缺省接口定义的属性和方法。MapControl当前最新版本接口为IMapControl3.
当需要使用这个接口时,可使用下面的代码:
IMapControlDefault pMapControl;
pMapControl = axMapControl1.Object as IMapControlDefault;
对于文档文件,MapControl控件可以直接使用LoadMxFile方法来载入,这是最简单的方法。除此之外,也可以使用IMapDocument接口定义的属性和方法来加载一个MSD文件。下面是一个载入文档的例子:
private void LoadMapDocument()
{
System.Windows.Forms.OpenFileDialog ope