一个简单的C#+arcgis的非数据库版例子

1.首先新建一个winform的项目。

2.确保C#工具箱包含ESRI的相关控件,如果没有就需要安装SDK。

一个简单的C#+arcgis的非数据库版例子

如果VS中依旧不存在esri控件解决方案如下,以VS2013为例:

(1)打开注册表,定位至HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0,点击10.0在右侧空白处右侧新建--字符串值,名称取”InstallDir“,类型默认为REG_SZ,其数据值即为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\InstallDir的值,也就是你VS2013的安装路径。

(2)win7 64位下只要把vs2010安装目录下\Common7\IDE\ItemTemplates\CSharp\ArcGIS文件夹和\Common7\IDE\ProjectTemplates\CSharp\ArcGIS分别对应复制到C:\Users\Administrator\Documents\Visual Studio 2013\Templates\ItemTemplates\Visual C#和C:\Users\Administrator\Documents\Visual Studio 2013\Templates\ProjectTemplates\Visual C#就可以了。

(3)重启VS后还没有那就手动添加一下吧!

一个简单的C#+arcgis的非数据库版例子

3.将VS的相应ToolbarControl(工具控件),AxTOCControl(目录控件),AxMapControl(地图控件)和AxLicenseControl (许可控件)控件拖到界面形成一下效果:

一个简单的C#+arcgis的非数据库版例子

之后修改public Form1()的后台代码如下:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
            InitializeComponent();
            string path = @"F:\Chang\mapTest\mapTest\World\";
            string fileName = @"World.mxd";
            //加载图层文件
            axMapControl1.LoadMxFile(path + fileName);
            //设置MapControl显示范围到数据的全局范围
            axMapControl1.Extent = axMapControl1.FullExtent;

运行效果最终形成

一个简单的C#+arcgis的非数据库版例子

相关推荐