
txtUser,txtPWD,(txt格式的用户名,登录密码)
btnOK,btnExit,(button控件的确认和退出)
4、MDI窗体
重要属性:
isMdiContainer->true(设置窗体属性MDI功能可用)
fromBorderStyle(窗体边框样式)->sizeable
startPosition(初始位置)->centerscreen
windowstate(窗体状态)->maximized
多文档界面(MDI)可以在不同的窗口中保存多个已打开的文档,用户可以在同一时间打开多个窗口。 如Word。
MDI应用程序至少由两个窗口组成,MDI容器Container(主窗口),用于放置其他窗口;和在主窗口中显示的“MDI子窗口”。创建当前中体为父窗体并子窗体的代码示例:
在父窗体中添加如下代码:
frmSon frm=new frmSon(); //创建子窗体对象
frm.MdiParent=this; //指定当前窗体为NDI父窗体
frm.Show(); //打开子窗体
二、创建窗体、两个窗体之间的切换
e.g1:在frm1一窗体中打开frm2窗体的代码;在frm1窗体的相关事件中编写如下代码
frm2 obFrm2=new frm2();
obFrm2.Show();
this。hide(); //当前窗口隐藏
(注:hide表示当前页面隐藏,更改后还可能显示第一次的运行结果。close表示当前页面彻底关闭)
三、二次开发方法简介
1、GIS开发方法:集成式开发、模块化、组件化
2、ESRI公司推出一系列的组件,有三种主要的开发方式:
MapObjects(MO)
ArcGIS Objects(AO)
ArcGIS Engine(AE)
三者的联系:
它们都是ESRI公司开发的,用于空间地理信息程序开发操作的组建,都具备了基本的地图操作功能,均能够满足简单的小型的系统开发。AE包括核心 AO的功能,其是对AO中的大部分接口、类、库进行封装所构成嵌入式组件。AE中的组件接口、方法、属性与AO是相同的。
三者的区别:
1 . 功能完善程度不同:三者当中AO 最为完善,包括了所有的类库,其中有ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库。而AE为它的一个缩减,AE版本的控件只有MapControl和PageLayoutControl两个,所以使用AE开发的软件,在AO环境中使用没有问题,但是AO开发的程序,如果使用的组件库不被包含在AE中,就无法使用,比如IIdentifyDialog对象,就是只有在AO中才能使用。MO功能最简单,主要面向小型的系统开发如地图浏览,查询系统等等,或结合MIS系统 运行。arcgis二次开发
2. 开发环境要求不同。基于AO的开发需要安装ArcGIS Desktop全套软件,而AE是独立的嵌入式 开发平台,无须 ArcGISDesktop支持。MO也无须ArcGIS平台支持
3. 构建成本。AO最为昂贵,AE次之,MO最低廉。
3、GIS二次开发:在已有GIS软件的功能模块(如ESRI公司的MO,AO,AE等组件)的基础上,利用可视化的编程语言及平台(如C#,JA,C++),重新构建GIS应用系统。
4、学习AE
ArcMap 的DataView(地图控件)->mapControl
Pagelayout View(布局控件)-> PageLayerOutControl
Table of Contents(图层控件)->TOCControl
如Editor或standard等工具->ToolbarControl
注:以上大部分内容为本人ArcGIS二次开发课程老师上课时所记笔记整理得到。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-36335-1.html
中国在二十年內都还没这能力