ArcGIS Add-in——自動保存編輯


需求:由於初次使用ArcGIS編輯器不習慣、數據量大造成經常程序未響應、計算機斷電等因素,造成編輯的數據沒有保存,影響了生產效率,本人根據草色靜然的博文,總結了自動保存編輯的實現方法。

分析:自動保存,用到的肯定是計時器,一般都是用微軟件的Timer控件,它的Elapsed 事件指達到間隔時發生(由Interval屬性指定),所以基本步驟是:

(1)聲明變量;

(2)寫Elapsed事件,並在事件中寫自動保存的功能;

(3)在OnClick調用Elapsed事件,觸發Timer。

要自動保存編輯內容,得獲取編輯器,知道當前工作空間然后調用StopEditing和StartEditing方法。這些具體的類和方法的使用,得查看ESRI幫助文檔了。

這里需要注意的是Editor的獲取,獲取方法可參考:http://www.cnblogs.com/liweis/p/4582176.html ,但我現在想描述的問題是,獲取的代碼寫在哪里的問題。默認情況下,新建AddIn程序,它會在Config.Designer新建一個ArcMap靜態類,類里通過GetHook方法獲取了Application、Document、ThisApplication、DockableWindowManager、Events五個對象,那當然根據需要,我們可以向其中添加Editor對象。但是如果我再在程序中添加Addin組件時,它會重寫這個類到默認狀態,以前自定義的就沒有了。原因:凡是修改了Config.esriaddinx,Config.Designer.cs的內容都會恢復到默認,而且引用ArcGIS Desktop Add-In的復制本地屬性會變成F,所以,建議,將這些自定義的內容不要放在Config.Designer.cs中。

接下來,我想把這個按鈕功能放在工具條上,調出工具條即可。網上沒有搜索到這樣的例子,自己摸索一下,終於實現 了:其實也很簡單,在現有基礎上添加新建項,選擇 Add-in Command Container,在彈出的向導中選擇工具條,設置工具條名稱(C aption),添加條目,選擇已寫好的Button即可。

我們來看一下它 標簽代碼,非常清楚明白。


免責聲明!

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



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