调用方法
ILayer pLayer = axMapControl1.get_Layer(1); IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; if (pFeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline) { IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false); IFeature pFeature = pFeatureCursor.NextFeature(); ILayer pTargetLayer = axMapControl1.get_Layer(2); IFeatureLayer pTargetFeatureLayer = pTargetLayer as IFeatureLayer; IFeatureClass pTargetFeatureClass = pTargetFeatureLayer.FeatureClass; if (pTargetFeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon) { IPolygon pPolygon = null; while (pFeature != null) { IPolyline pPolyline = pFeature.Shape as IPolyline; pPolygon = ConstructPolygonFromPolyline(pPolyline); if ((pPolygon != null) && (!pPolygon.IsEmpty)) { if (!pPolygon.IsClosed) { pPolygon.Close(); } IFeature pNewFeature = pTargetFeatureClass.CreateFeature(); pNewFeature.Shape = pPolygon; pNewFeature.Store(); pFeature.Delete(); } pFeature = pFeatureCursor.NextFeature(); } } } axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
