/// <summary> /// 释放该类 /// </summary> public void Dispose() { ReleaseCommond(); CommondExecutedEvent = null; layer = null; editElement = null; currTool = null; mapControl = null; }
/// <summary> /// 构造函数 /// </summary> /// <param name="_mapControl">地图控件</param> /// <param name="element">图元</param> public EditPoint(AxMapControl _mapControl, MapFrame.Core.Interface.IMFElement element) { mapControl = _mapControl; currTool = _mapControl.CurrentTool; editElement = element as IMFPoint; if (editElement != null) { layer = editElement.BelongLayer; } SetGraphicsLayer(); }
void Form1_CommondExecutedEvent(object sender, MessageEventArgs e) { switch (e.ToolType) { case ToolTypeEnum.Draw: element = e.Data as IMFElement; switch (element.ElementType) { case ElementTypeEnum.Circle: circleElement = element as IMFCircle; break; case ElementTypeEnum.Point: pointElement = element as IMFPoint; break; case ElementTypeEnum.Line: lineElement = element as IMFLine; double length = lineElement.GetDistance(); break; case ElementTypeEnum.Polygon: polygonElement = element as IMFPolygon; double area = polygonElement.GetArea(); break; case ElementTypeEnum.Text: textElement = element as IMFText; break; case ElementTypeEnum.Rectangle: rectangleElement = element as IMFPolygon; break; } break; case ToolTypeEnum.Measure: break; case ToolTypeEnum.Select: List <IMFElement> elements = (sender as IMFSelect).GetSelectElements(); break; case ToolTypeEnum.Edit: switch (element.ElementType) { case ElementTypeEnum.Point: pointElement = element as IMFPoint; break; case ElementTypeEnum.Line: lineElement = element as IMFLine; double length = lineElement.GetDistance(); break; case ElementTypeEnum.Polygon: polygonElement = element as IMFPolygon; double area = polygonElement.GetArea(); break; case ElementTypeEnum.Text: textElement = element as IMFText; break; } break; } }