• 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即可。

    我们来看一下它 标签代码,非常清楚明白。

  • 相关阅读:
    BFS visit tree
    Kth Largest Element in an Array 解答
    Merge k Sorted Lists 解答
    Median of Two Sorted Arrays 解答
    Maximal Square 解答
    Best Time to Buy and Sell Stock III 解答
    Best Time to Buy and Sell Stock II 解答
    Best Time to Buy and Sell Stock 解答
    Triangle 解答
    Unique Binary Search Trees II 解答
  • 原文地址:https://www.cnblogs.com/liweis/p/4582780.html
Copyright © 2020-2023  润新知