arcgis engine 监听element的添加、更新和删除事件(使用IGraphicsContainerEvents)
IGraphicsContainerEvents Interface
如何监听 element事件? 如,当我们在Mapcontrol上添加、删除、更新了一个Element后,如何捕捉到这个事件? 1,首先定义全局变量: IGraphicsContainerEvents_Event pGraphicsContainerEvent; 2,在Form1_Load中给该变量赋值: pGraphicsContainerEvent = this.axMapControl1.ActiveView.FocusMap.BasicGraphicsLayer as IGraphicsContainerEvents_Event; 3,添加事件处理 pGraphicsContainerEvent.ElementAdded += new IGraphicsContainerEvents_ElementAddedEventHandler(ElementAddedMethod); pGraphicsContainerEvent.ElementDeleted +=new IGraphicsContainerEvents_ElementDeletedEventHandler(ElementDeletedMethod); pGraphicsContainerEvent.ElementUpdated += new IGraphicsContainerEvents_ElementUpdatedEventHandler( ElementUpdatedMethod); 4,定义事件: private void ElementAddedMethod(IElement i) { System.Windows.Forms.MessageBox.Show("Element Added"); axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); } private void ElementDeletedMethod(IElement i) { System.Windows.Forms.MessageBox.Show("Element Deleted"); axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); } private void ElementUpdatedMethod(IElement i) { System.Windows.Forms.MessageBox.Show("Element Updated"); axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); } http://blog.sina.com.cn/s/blog_90b91bf10100yks1.html| AllPropertiesMethods | Description | |
|---|---|---|
![]() |
AllElementsDeleted | Occurs when all the elements are deleted. |
![]() |
ElementAdded | Occurs when the element is added. |
![]() |
ElementDeleted | Occurs when the element is deleted. |
![]() |
ElementsAdded | Occurs when the elements are added. |
![]() |
ElementUpdated | Occurs when the element is updated. |
