版權聲明:
《ArcGIS Engine+C#實例開發教程》為3SDN(http://www.3sdn.net)原創教程,版權所有。禁止商業用途轉載(如需請聯系作者),非商業用途轉載請注明出處。教程采用C#語言,以VS2005為開發工具。
讀者對象:
ArcGIS Engine(以下簡稱AE)開發初學者, 了解AE基本體系,了解C#基本語法,了解VS2005的基本使用方法。
預期學習效果:
進一步理解AE的體系結構與開發方法,掌握基本的GIS桌面應用程序的開發。
教程目錄:
第三講 MapControl與PageLayoutControl同步
第八講 屬性數據表的查詢顯示
------------------------------------------------------------------
第一講:桌面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應用程序框架基本框架已經搭建好了,你可以通過工具條的工具打開地圖文檔,瀏覽地圖了,效果如開篇所示.