《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
版权声明:
《ArcGIS Engine+C#实例开发教程》为3SDN(http://www.3sdn.net)原创教程,版权所有。禁止商业用途转载(如需请联系作者),非商业用途转载请注明出处。教程采用C#语言,以VS2005为开发工具。
读者对象:
ArcGIS Engine(以下简称AE)开发初学者, 了解AE基本体系,了解C#基本语法,了解VS2005的基本使用方法。
预期学习效果:
进一步理解AE的体系结构与开发方法,掌握基本的GIS桌面应用程序的开发。
教程目录:
第一讲 桌面GIS应用程序框架的建立
第二讲 菜单的添加及其实现
第三讲 MapControl与PageLayoutControl同步
第四讲 状态栏信息的添加与实现
第五讲 鹰眼的实现
第六讲 右键菜单添加与实现
教程Bug及优化方案1
第七讲 图层符号选择器的实现1
第七讲 图层符号选择器的实现2
第八讲 属性数据表的查询显示
------------------------------------------------------------------
第一讲:桌面GIS应用程序框架的建立
本讲主要是使用MapControl、PageLayoutControl、ToolbarControl、TOCControl四个控件建立起基本的桌面GIS应用程序框架。最终成果预览如下:
1、新建项目
启动VS2005,选择“文件|新建|项目”,在项目类型中选择Visual C#,再选择Windows应用程序模板,输入名称“3sdnMap”,点击确定。
在解决方案管理器中将“Form1.cs”重命名为“3sdnMap.cs”,在设计视图中,选中窗体,将其属性中的“Text”改为“3sdnMap”。
2、添加控件
选择工具箱中的“菜单和工具栏|MenuStrip”,将其拖入窗体。
选择工具箱中的“ArcGIS Windows Forms”节,将“ToolbarControl”控件拖入窗体,并将其属性中的Dock设置为Top。
选择工具箱中的“菜单和工具栏|StatusStrip”,将其拖入到窗体。
选择工具箱中的“容器|SplitContainer”容器拖入窗体,并将其属性中的Dock设置为Fill。
将TabControl控件拖入Panel1,将Alignment属性设置为Bottom,Dock属性设置为Fill。点击TabPages属性右边的按钮,弹出TabPage集合编辑器,将tabPage1的Name设置为tabPageLayer,Text设置为图层,将tabPage2的Name设置为tabPageProperty,Text设置为属性。如下所示。
选择“图层”选项卡,拖入TOCControl控件,设置Dock属性为Fill。
选择“属性”选项卡,拖入DataGridView控件,设置Dock属性为Fill。
拖入TabControl控件到Panel2,设置Dock属性为Fill。并上述类似的方法,将两个选项卡的Name和Text分别设置为:(tabPageMap、地图),(tabPageLayout,制版)。
选择“地图”选项卡,拖入MapControl控件,设置Dock属性为Fill。
选择“制版”选项卡,拖入PageLayoutControl控件,设置Dock属性为Fill。
最后将LicenseControl控件拖入到窗体的任意地方。
按F5编译运行,可以看到刚才布局好的程序界面了。
3、控件绑定
通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。
分别右击ToolbarControl、TOCControl控件,将Buddy设置为axMapControl1,如下图所示。
这样,工具条和图层控件就与地图控件关联了。
4、添加工具
此时,工具条中还没有任何工具,添加的方法也很简单。右击ToolbarControl,选择“属性|Items”,点击Add,选择Commands选项卡中的Generic,双击Open、SaveAs、Redo、Undo即可将相应工具添加到工具条。
常见的工具有:
Map Navigation中的导航工具,Map Inquiry中的查询工具,Feature Selection中的选择工具,你可以根据需要酌情添加工具。
5、编译运行
按F5即可编译运行程序,至此桌面GIS应用程序框架基本框架已经搭建好了,你可以通过工具条的工具打开地图文档,浏览地图了,效果如开篇所示.
《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立相关推荐
- 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2
<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第 ...
- 《ArcGIS Engine+C#实例开发教程》第三讲 MapControl与PageLayoutControl同步
<ArcGIS Engine+C#实例开发教程>第三讲 MapControl与PageLayoutControl同步 原文:<ArcGIS Engine+C#实例开发教程>第三 ...
- [Minecraft]基于Forge的1.8.9MOD开发教程——第一讲:搭建开发环境
(第一次写教程,有点小紧张呢..) 作者的话 我一开始学习MOD开发时,也曾在各大网站搜索过一些教程,感觉国内的MOD开发教程是真心的少:CSDN没找到,优酷.爱奇艺.腾讯.B站也几乎没有(除了优酷的 ...
- 【ArcGIS Engine二次开发】入门基础(2):ArcGIS开发方式(VBA、DLL、Add-in、Engine)对比
文章目录 2.1 使用VBA进行桌面软件开发 2.1.1 VBA开发方式 2.1.1 VBA代码的安全性 2.2 使用DLL进行桌面软件开发 2.2.1 DLL开发方式 2.2.2 DLL功能的应用部 ...
- 【ArcGIS Engine二次开发】入门基础(1):ArcGIS Engine简介及开发环境搭建
文章目录 ArcGIS Engine概述 ArcGIS Engine与ArcObjects的关系 ArcGIS Engine下载及安装 ArcGIS Engine概述 ArcGIS Engine简介 ...
- 利用Arcgis Engine 二次开发的使用和总结
Arcgis Engine 初体验 先放一张第一版系统的图,由于公司机密不能提供源码,但是各个小功能提供源码,为需要的同仁提供些许帮助. 接下来进入正题,将逐一展示利用Arcgis Engine开发的 ...
- 【转载】利用ArcGIS Engine 二次开发的使用和总结
文章目录 ArcGIS Engine 初体验 一.较完全编辑功能GIS程序 二.字段搜索要素和空间搜索要素GIS程序 三.图层重叠搜索GIS程序 四.要素合并.裁剪及检测要素重叠GIS程序 五.自定义 ...
- Vuex白话教程第一讲:Vuex到底是个什么鬼?
Vuex白话教程第一讲:Vuex到底是个什么鬼? Vuex白话教程第二讲:Vuex旗下的State和Getter Vuex白话教程第三讲:Vuex旗下的Mutation Vuex白话教程第四讲:Vue ...
- 股票选股公式编写教程第一讲:公式编写的基础函数
股票选股公式编写教程 第一讲:公式编写的基础函数 打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是 K线,二是均线.其他诸如柱状线,彩带,分段线等等,都是在 K线或均线基础上的延伸或变形. ...
最新文章
- pytorch 状态字典:state_dict 模型和参数保存
- 3.1、final、finally、 finalize
- 《信息与电脑》流通业在SaaS模式下的在线应用
- 【ABAP】如何判断单据是否被锁定
- com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
- linux wifi 配置 编程,linux 无线手动配置
- mitmproxy抓包 | Python实时生成接口自动化用例(三)
- DataGridView的单元格内容即时更新方法
- SVN 无法连接主机:由于目标计算机积极拒绝,无法连接
- 网奇iwms插件之“我浏览过的文章”
- 自学鄙视链顶端的王者
- ubuntu+nginx+php-cgi 环境开启php的curl功能
- Python二维码应用(一)QRcode二维码生成识别
- IAR 非调试模式直接下载程序
- NVIDIA Jetson之OTA远程升级Jetpack
- 图形化显示变量波形 代替串口你知道如何操作么?
- protobuf详细介绍和使用
- 随机生成一个有向无环图
- 清理docker的overlay2日志释放磁盘空间
- easywechat Api大全