arcgis engine 開發教程系列


版權聲明:
        《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應用程序框架基本框架已經搭建好了,你可以通過工具條的工具打開地圖文檔,瀏覽地圖了,效果如開篇所示.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM