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获取当前时间与日期间隔。MySQL常用的日期和时间函数:函数 说明 CURDATE()、CURRENT_DATE() 返回当前日期,格式:yyyy-MM-dd。 CURTIME()、CURRENT_TIME() 返回当前时间,格式:HH:mm:ss。 NOW()、CURRENT_TIMESTAMP()、LOCALTIME()、SYSDATE()、LO…

    2022年10月6日
  • MySQL时间戳转日期

    MySQL时间戳转日期使用FROM_UNIXTIME函数,具体如下:FROM_UNIXTIME(unix_timestamp,format)返回表示Unix时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。下列修饰符可以被用在format字符串中:%M月名字(January……December)%W星期名字(Sunda

    2022年6月21日
  • 网站程序下载_可以免费下载程序的网站

    网站程序下载_可以免费下载程序的网站1、博客网站:Wordpress、zblog2、门户网站:Dedecms、phpcms、帝国cms3、论坛网站:Discuz4、企业网站:Dedecms、phpcms、帝国cms5、商城网站:

    2022年8月6日
  • BIOS + EC

    BIOS + ECBIOS+EC1参考1参考1、BIOS与EC之间关系2、BIOS和EC3、蓝天DOS下刷BIOS、EC小教程(以775TM为例)

    2022年7月20日
  • JavaScript匿名函数理解及应用[通俗易懂]

    JavaScript匿名函数理解及应用[通俗易懂]匿名函数匿名函数顾名思义就是没有名字的函数,在实际开发中经常会用到,也是JavaScript的重点。匿名函数又叫立即执行函数。由于这种函数是匿名的,所以它不能被调用。由于它不能被调用,所以如果它不立即执行的话就没有了意义。由于它需要立即执行,所以在执行完之后匿名函数就会被销毁。匿名自执行函数的作用就是用于闭包和创建独立的命名空间两个方面。匿名函数的基本形式为(function(){…})();前面的括号包含函数体,后面的括号就是给匿名函数传递参数然后立即执行。匿名函数的作用是避免全局变量

    2022年10月4日
  • c++入门教程–-12作用域

    c++入门教程–-12作用域

    2021年3月12日

发表回复

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

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