/// <summary> /// 点击事件 /// </summary> public override void OnClick() { IFeature pFeature; IEnumFeature pEnumFeature; // Get a cursor on selected features IFeatureCursor cursor = null; pEnumFeature = DataEditCommon.g_pAxMapControl.Map.FeatureSelection as IEnumFeature; IFeatureLayer feaLayer = DataEditCommon.g_pLayer as IFeatureLayer; //pEnumFeature = DataEditCommon.g_engineEditor.EditSelection; //int selectionCnt = DataEditCommon.g_engineEditor.SelectionCount; //// 没有选中任何图形 //if (selectionCnt <= 0) //{ // return; //} if (pEnumFeature == null) { return; } pEnumFeature.Reset(); pFeature = pEnumFeature.Next(); if (pFeature == null) { System.Windows.Forms.MessageBox.Show("请先选择要删除的图元!"); return; } DataEditCommon.InitEditEnvironment(); DataEditCommon.CheckEditState(); DataEditCommon.g_engineEditor.StartOperation(); //DataEditCommon.g_CurWorkspaceEdit.StartEditOperation(); do { int iFieldBID = pFeature.Fields.FindField(GIS_Const.FIELD_OBJECTID);//图层中对应绑定ID字段 string sObjId = pFeature.get_Value(iFieldBID).ToString(); //pFeature.Delete(); //RefreshModifyFeature((IObject)pFeature); DataEditCommon.DeleteFeatureByObjectId(feaLayer, sObjId); RefreshModifyFeature((IObject)pFeature); pFeature = pEnumFeature.Next(); }while (pFeature != null); //DataEditCommon.g_CurWorkspaceEdit.StopEditOperation(); DataEditCommon.g_engineEditor.StopOperation("Delete Feature"); DataEditCommon.g_pMap.ClearSelection(); DataEditCommon.g_pMyMapCtrl.ActiveView.Refresh(); }