天天看点

去除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();
            }