加載控件,連接配接并加載相應功能,如下圖所示
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運作,結果如下圖: