加载控件,连接并加载相应功能,如下图所示
Private void GetDataFromMDBToolStripMenumItem_Click(object sender,EventArgs e) { IWorkspaceFactory MyWorkSpaceFactory = new AccessWorkspaceFactoryClass(); IWorkspace MyWorkSpace = MyWorkSpaceFactory.OpenFromFile(@"C:\数据资料等\hzdatabase.mdb", 0);//我的MDB数据库存放的路径 IFeatureWorkspace MyFeatureWorkSpace=MyWorkSpace as IFeatureWorkspace; IEnumDataset MyEnum = MyWorkSpace.get_Datasets(esriDatasetType.esriDTAny); IDataset MyDataSat = MyEnum.Next(); while (MyDataSat != null) { IFeatureDataset MyFeatureDataSat =(IFeatureDataset) MyDataSat; if (MyDataSat.Type == esriDatasetType.esriDTFeatureClass) { //这部分是在视图中加载不同的图层 IFeatureLayer FeatureLayer = new FeatureLayerClass(); FeatureLayer.FeatureClass = MyFeatureWorkSpace.OpenFeatureClass(DataSat.Name); ILayer MyLayer = FeatureLayer as ILayer; MyLayer.Name = MyDataSat.Name; axMapControl1.Map.AddLayer(MyLayer); MyDataSat = MyDataSatEnum.Next(); } else if (MyDataSat.Type == esriDatasetType.esriDTFeatureDataset) { IEnumDataset DataSatEnum = MyDataSat.Subsets; IDataset DataSat = DataSatEnum.Next(); while (DataSat != null) { IFeatureLayer MyFeatureLayer = new FeatureLayerClass(); MyFeatureLayer.FeatureClass = MyFeatureWorkSpace.OpenFeatureClass(DataSat.Name); ILayer Layer = MyFeatureLayer as ILayer; Layer.Name = DataSat.Name; axMapControl1.Map.AddLayer(Layer); DataSat = DataSatEnum.Next(); } } MyDataSat = MyEnum.Next(); } }
F5运行,结果如下图: