public class CustomEditOverlay : EditInteractiveOverlay { public ShapeFileFeatureLayer EditableLayer; public WinformsMap Map; private Feature moEditFeature; protected override void EndEditingCore(ThinkGeo.MapSuite.Core.PointShape targetPointShape) { base.EndEditingCore(targetPointShape); var _with1 = EditableLayer; if (!_with1.EditTools.IsInTransaction) { _with1.EditTools.BeginTransaction(); _with1.EditTools.IsTransactionLive = true; } Feature oColFeature = EditableLayer.QueryTools.GetFeatureById(moEditFeature.Id, ReturningColumnsType.AllColumns); Feature oEditFeature = new Feature(moEditFeature.GetShape(), oColFeature.ColumnValues); _with1.EditTools.Update(oEditFeature); _with1.EditTools.CommitTransaction(); EditableLayer.Close(); Map.Refresh(); moEditFeature = null; } protected override void OnVertexMoved(ThinkGeo.MapSuite.DesktopEdition.VertexMovedEditInteractiveOverlayEventArgs e) { moEditFeature = e.AffectedVertexFeature; base.OnVertexMoved(e); } }