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. |