以下是使用relativebase存储layerfile的代码,如果需要修改数据源只要修改ILayer即可:
string folderpath = @E:相对路径; string layerfilepath = @E:相对路径layer; ILayer layer = axMapControl1.get_Layer(0); IDataLayer2 pDataLayer = layer as IDataLayer2; pDataLayer.RelativeBase = folderpath + + layer.Name; ILayerFile pLayerFile = new LayerFileClass(); pLayerFile.New(layerfilepath + .lyr); pLayerFile.ReplaceContents(layer); pLayerFile.Save();