#region 校验合法性 ArrayList pFeatureArray = null; pFeatureArray = Application.Editor.FeatureSelection(); int count=pFeatureArray.Count; if (count<1) { MessageBox.Show("最少必须选择1个要素才能进行要素分解!", "提示"); return; } #endregion try { //启动编辑操作 Application.Editor.StartOperation(); #region 对选中的要素进行多部件测试及分解 int multipartcount = 0; for (int i = 0; i < count; i++) { IFeature pFeature = pFeatureArray as IFeature; if (pFeature.ShapeCopy.IsEmpty) continue; IGeometry pGeometry = pFeature.ShapeCopy; IGeometryCollection pGeocoll = pGeometry as IGeometryCollection; int geomcount = pGeocoll.GeometryCount; if (geomcount > 1) { multipartcount++; for (int k = 1; k < geomcount; k++) |