VB.NET 中调用浏览目录对话框
概述:
我们都知道在.NET中调用一个打开文件的对话框很容易,定义一个OpenFileDialog类的实例就可以直接使用了。有时候我们需要让用户选择一个工作目录,或者一个系统目录,于是就在搜索是不是有类似的OpenDirectoryDialog类呢?当然最好有一个,这样就很方便了。其实系统并没有提供这么一个类,下面我们就采用很短的代码构建这个目录浏览对话框。
思想:
在项目的引用中,浏览一下,会发现有一个System.Designer.dll, 默认这个dll并没有被项目引用,我们今天就把它引到项目中。在System.Windows.Forms.Design这个名控件下面有一个FolderNameEditor 类,其实就是一个目录浏览对话框,只不过这个类不能直接使用,必须Inherit。看下面的代码:
为了模块化,我们在项目中新建一个class,命名为OpenDirectoryDialog,输入类似下面的代码:
代码:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
编译好以后,我们就可以直接用这个Class了。
调用如下:
Debug.WriteLine(OpenDirectoryDialog.ShowDialog())