解决方法如下:
string dkpath = System.IO.Path.GetDirectoryName(dkPath);
string dkname = System.IO.Path.GetFileName(dkPath);
IWorkspaceFactory pwf = new ShapefileWorkspaceFactory();
//关闭资源锁定
IWorkspaceFactoryLockControl ipWsFactoryLock = (IWorkspaceFactoryLockControl)pwf;
if (ipWsFactoryLock.SchemaLockingEnabled)
{
ipWsFactoryLock.DisableSchemaLocking();
}
IWorkspace pw = pwf.OpenFromFile(dkpath, 0);
IFeatureWorkspace pfw = pw as IFeatureWorkspace;
IFeatureClass pfc = pfw.OpenFeatureClass(dkname);
IFeatureLayer pf = new FeatureLayerClass();
pf.FeatureClass = pfc;
pf.Name = "DKXX";
ILayer pl = pf as ILayer;
m_FeatureLayer = pl as IFeatureLayer;
this.mcView.AddLayer(pl, 0);
将解决文件锁定状态。