天天看點

去除ArcMap中Catalog視窗中的失效檔案夾連接配接

用ArcGIS的時候,如果想要通路一個檔案夾,需要先做檔案夾的連接配接,這樣處理的優點是讓使用者專注于必要的檔案夾,但像重度的ArcGIS使用者,檔案夾有很多,而且天長日久很多檔案夾已經移動或者删除了,ArcMap的連接配接就失效了。

這裡給出一個AddIn的關鍵代碼,可以自動删除的檔案夾連接配接

var gxApp = ArcMap.ThisApplication as IGxApplication;

            var selectedObject = gxApp.SelectedObject;

            if (!(selectedObject is IGxObjectContainer)) return;

            var objectContainer = selectedObject as IGxObjectContainer;
                
            var enumGxObject = objectContainer.Children;

            var gxObject = enumGxObject.Next();

            while (gxObject != null)
            {
                MessageBox.Show(gxObject.FullName);

                if (!Directory.Exists(gxObject.FullName))
                {
                    objectContainer.DeleteChild(gxObject);
                }
                    
                gxObject = enumGxObject.Next();
            }