ArcGIS Desktop API - 检查渲染是否已完成

时间:2013-02-22 13:34:19

标签: c# arcgis

我最近在C#中继承了一个大型项目,该项目使用ArcGIS渲染一些区域计划。目前使用它的人一直在抱怨该工具的性能极差,现在我的任务就是让它更快。

当我第一次看到代码时,我感到害怕。每次调用gis api后,每次睡眠时间为{30},每次睡眠时间为{0},导致需要几分钟的简单操作。

经过一些测试后,很明显删除它们导致草图无法完成或充满了瑕疵,原因很简单,因为在执行下一步操作之前场景尚未完全呈现。

我的问题很简单。有没有办法获得ArcGIS渲染的当前状态,所以我可以停止工具,直到ArcGis将当前视图标记为准备好,而不是等待'默认'30s?

谢谢

编辑:示例代码

System.Threading.Sleep(30000);

我可以提供更多代码片段,但我认为这个问题更通用,而不是直接与我的代码相关。

1 个答案:

答案 0 :(得分:1)

我快速浏览了一下文档,发现了以下内容:

  1. IPageLayoutControlEvents
  2. IActiveViewEvents
  3. 看起来它们很有用,特别是“AfterDraw”事件。我想你可以根据需要收听相关事件来启用/禁用你的工具。