事先定义pmap和pactiveview对象
IMap pmap = axMapControl1.Map;
IActiveView pactview = axMapControl1.ActiveView;
点要素tian添加
1、在MapControl1的mouse事件中添加如下代码
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
IGeometry pt = axMapControl1.ToMapPoint((int)e.mapX, (int)e.mapY);
IMarkerElement markerelement = new MarkerElementClass();
IElement element = markerelement as IElement;
element.Geometry = pt;
IGraphicsContainer graphicscontainer = pmap as IGraphicsContainer;
graphicscontainer.AddElement((IElement)markerelement, 0);
pactview.Refresh();
2、在点要素单击事件按钮中调用以上代码
线要素添加
1、在MapControl1的mouse事件中添加如下代码
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
IGeometry polyline = axMapControl1.TrackLine();
ILineElement plele = new LineElementClass();
IElement PELE = plele as IElement;
PELE.Geometry = polyline;
IGraphicsContainer pgracontainer = pmap as IGraphicsContainer;
pgracontainer.AddElement((IElement)plele, 0);
pactview.Refresh();
2、在线要素单击事件按钮中调用以上代码
面要素添加
1、在MapControl1的mouse事件中添加如下代码
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
IGeometry poly = axMapControl1.TrackPolygon();
IPolygonElement polygonele = new PolygonElementClass();
IElement pelement = polygonele as IElement;
pelement.Geometry = poly;
IGraphicsContainer pgraphicscontainer = pmap as IGraphicsContainer;
pgraphicscontainer.AddElement((IElement)polygonele, 0);
pactview.Refresh();
2、在面要素单击事件按钮中调用以上代码