ArcGIS二次开发基础教程(00):基础界面设计

ArcGIS二次开发基础教程(00):基础界面设计ArcGIS二次开发基础教程(00):基础界面设计(开发环境:VS2010+ArcEngine10.2+C#;鉴于学习ArcGIS二次开发的同学都有一定的WinForm开发和ArcGIS软件使用基础,故此教程不再对一些基础内容作详细阐述)首先新建一个Windows窗体应用程序,设置Size为(700,450),再添加一个MenuStrip,输入文件,如图:添加一个ToolB…

大家好,又见面了,我是你们的朋友全栈君。

ArcGIS二次开发基础教程(00) : 基础界面设计

(开发环境:VS2010+ArcEngine10.2+C# ;鉴于学习ArcGIS二次开发的同学都有一定的WinForm开发和ArcGIS软件使用基础,故此教程不再对一些基础内容作详细阐述)

  1. 首先新建一个Windows窗体应用程序,设置Size为(700, 450),再添加一个MenuStrip,输入文件,如图:
    在这里插入图片描述

  2. 添加一个ToolBarControl,设置Dock为Top;添加一个SplitContainer控件,设置Orientation为Vertical,在splitContainer1.Panel1 中再添加一个SplitContainer,设置Orientation为Horizontal;在splitContainer1.Panel2中添加TabControl控件,将Alignment设置为Bottom,将选项卡放到下面,将第一个选项卡的Text改为Data View,第二个改为Layout View。如图:在这里插入图片描述

  3. 在splitContainer2.Panel1中添加TOCControl控件(Table Of Contents),在DataView中添加MapControl(主地图),在splitContainer2.Panel2中添加另一个MapControl(鹰眼图),在LayoutView中添加PageLayoutControl(制图用图),再往窗体中拖一个LicenseControl(许可控件)。如图:
    在这里插入图片描述

  4. 右击ToolbarControl,选择属性->General->设置Buddy Control为axMapControl1
    在这里插入图片描述
    再选择items->点击Add->Commands->Generic->右边双击Add Data->Close,如图:
    在这里插入图片描述

  5. 关掉属性窗,右击TOCControl选择属性,同样设置Buddy Control为axMapControl1。(这种方法设置的Buddy有时会失效,最好还是在代码中设置)
    在这里插入图片描述

  6. 在窗体的构造函数中添加获得许可语句和设置TOCControl的Buddy:

    ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
    InitializeComponent();
    axTOCControl1.SetBuddyControl(axMapControl1);      
    
  7. ArcEngine的开发框架为.Net Framework 3.5,而VS2010默认的框架为4.0,需更改,否则会出现如图所示警告;解决方法:右击项目名称点击属性,将目标框架改为.Net Framework 3.5。此时还会出现一个警告:未能找到引用的组件“Microsoft.CSharp”。 将其移除即可
    在这里插入图片描述

  8. 运行程序,点击AddData小图标,选择一个ShapeFile文件打开,如图:

在这里插入图片描述

历届GIS应用技能大赛开发题答案点这里,尚在不定期更新中

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163420.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MYsql 锁表解决办法

    MYsql 锁表解决办法MySQL锁表解决方法一、我的处理过程1、查进程,主要是查找被锁表的那个进程的IDSHOWPROCESSLIST;2、kill掉锁表的进程IDKILL 10866;//后面的数字即时进程的ID网上找了些资料,了解了一下,先分享一下:二、mysql的锁表问题SHOWPROCESSLIST查看数据库中表的状态,是否被锁;killid //杀掉被锁的表===================…

    2022年5月7日
    43
  • 电力系统104规约帧报文解析

    电力系统104规约帧报文解析最近被调到电力物联网的项目组,之前一直在做移动终端的我现在在这个项目中得要重新学起了。。~_~!1.电力系统常见概念首先介绍一份ppt:https://wenku.baidu.com/view/557ceb87be23482fb5da4c84.html看着挺好。。。这边文章主要是解释一些电力系统开发中比较常见的概念,也是给自己做个笔记~~~~~~电力系统远动(powersys…

    2022年6月20日
    107
  • leetcode 颜色分类_LEETCODE

    leetcode 颜色分类_LEETCODE给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:nums = [1]输出:[1] 提示:n == num

    2022年8月9日
    11
  • 使用 JavaScript 下载文件

    使用 JavaScript 下载文件使用JavaScript下载文件

    2022年5月29日
    39
  • import啥意思_import怎么导入

    import啥意思_import怎么导入前言我们在开发项目时经常会进行导包有import*格式的,还有from*import*格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具i

    2022年7月31日
    6
  • web渗透测试—-33、HttpOnly[通俗易懂]

    web渗透测试—-33、HttpOnly[通俗易懂]HttpOnly是微软公司的InternetExplorer6SP1引入的一项新特性。这个特性为cookie提供了一个新属性,用以阻止客户端脚本访问Cookie,至今已经称为一个标准,几乎所有的浏览器都会支持HttpOnly。下面示例显示了HTTP响应标头中HttpOnly使用的语法:Set-Cookie:<name>=<value>[;<Max-Age>=<age>]`[;expires=<date>][;domain=&lt

    2022年6月30日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号