public static void StartZDEdit() { ZDEditTools.StartEditDateTime = DateTime.Now; IMap editMap = Editor.EditMap; List <IFeatureLayer> featureLayers = new List <IFeatureLayer>(); for (int i = 0; i < editMap.LayerCount; i++) { ILayer layer = editMap.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayerEdit(featureLayers, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer)) { featureLayers.Add(featureLayer); } } } if (featureLayers.Count == 0) { MessageBox.Show("当前没有可编辑的宗地图层!"); } else if (featureLayers.Count != 1) { frmSelectEditZD _frmSelectEditZD = new frmSelectEditZD() { FeatureLayers = featureLayers }; if (_frmSelectEditZD.ShowDialog() == DialogResult.OK) { ZDEditTools.ZDFeatureLayer = _frmSelectEditZD.SelectFeatureLayer; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } } else { ZDEditTools.ZDFeatureLayer = featureLayers[0]; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } }
private static void CheckGroupLayerEdit(List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayerEdit(list_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer)) { list_0.Add(featureLayer); } } } }