VB.NET 中调用浏览目录对话框

原创 2003年03月31日 09:39:00

VB.NET 中调用浏览目录对话框

Montaque

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

概述:

            我们都知道在.NET中调用一个打开文件的对话框很容易,定义一个OpenFileDialog类的实例就可以直接使用了。有时候我们需要让用户选择一个工作目录,或者一个系统目录,于是就在搜索是不是有类似的OpenDirectoryDialog类呢?当然最好有一个,这样就很方便了。其实系统并没有提供这么一个类,下面我们就采用很短的代码构建这个目录浏览对话框。

思想:

            在项目的引用中,浏览一下,会发现有一个System.Designer.dll, 默认这个dll并没有被项目引用,我们今天就把它引到项目中。在System.Windows.Forms.Design这个名控件下面有一个FolderNameEditor 类,其实就是一个目录浏览对话框,只不过这个类不能直接使用,必须Inherit。看下面的代码:

            为了模块化,我们在项目中新建一个class,命名为OpenDirectoryDialog,输入类似下面的代码:

代码:

 

Imports System.Windows.Forms

Public Class FolderBrowser

    Inherits System.Windows.Forms.Design.FolderNameEditor

 

    Public Shared Function ShowDialog() As String

        Dim fb As New FolderBrowser()

        '对话框的title

        fb.Description = "Select a Directory to Scan"

        '默认是系统的桌面目录

        fb.StartLocation = Design.FolderNameEditor.FolderBrowserFolder.Desktop

        '对话框的样式

        fb.Style = Design.FolderNameEditor.FolderBrowserStyles.ShowTextBox

        fb.ShowDialog()

 

        Return fb.DirectoryPath

    End Function

End Class

编译好以后,我们就可以直接用这个Class了。

调用如下:

 

Debug.WriteLine(OpenDirectoryDialog.ShowDialog())

 

我们将看到下面的对话框:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

参考:ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemwindowsformsdesignfoldernameeditorclasstopic.htm

 

MFC对话框应用程序中谷歌CEF浏览器内核的使用

最近在做一个与浏览器相关的MFC项目,用户要求使用IE和谷歌双内核。对于IE内核可以直接使用MFC中的ACTIVEX控件,但是对于谷歌浏览器内核却并没有这么现成的控件可以使用。原来是想要自己编译Web...
  • mushao999
  • mushao999
  • 2014年07月09日 20:10
  • 6708

vs2013 MFC打开文件或文件夹对话框(有图有真相)

vs2013环境要求比vc6.0严格些。以前的代码不能直接拿来用,做了些修改。有效果图。...
  • ruanjiayou123
  • ruanjiayou123
  • 2015年09月23日 16:58
  • 8097

C++文件(夹)选择对话框

由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有。今遇到这个情况已经解决,特写下这篇博文。 1.打开文件对话框常用的方法是使用系统的CFileDialog。这里介绍另外...
  • xdrt81y
  • xdrt81y
  • 2013年11月06日 12:05
  • 22122

vb.net 教程 3-3 窗体编程 输入对话框 2

上一篇谈到了使用InputBox输入对话框 同用户交互。 这一篇文章谈谈如何建立自己的输入对话框。 增加一个窗体: 其中: Form2属性: ControlBox=False       ,不显示图...
  • UruseiBest
  • UruseiBest
  • 2017年04月27日 17:52
  • 352

vb.net 教程 3-5 窗体编程 对话框1 OpenFileDialog & SaveFileDialog

不同于本章第3节所讲的对话框, inputbox、messagebox、msgbox都是调用的方法, 本节所讲的对话框是在vs工具箱中的组件。 vs提供了颜色打开文件对话框、保存文件对话框、对话框、字...
  • UruseiBest
  • UruseiBest
  • 2017年05月13日 22:48
  • 1043

VB.Net中确认退出对话框的实现

在敲代码的时候,为了更加人性化的设计,我们在用户退出系统之前需要进行提示,如下图:         实现方法分为两大类:窗体事件和控件事件,下面就一一展示:         一、FormC...
  • wlccomeon
  • wlccomeon
  • 2013年05月19日 19:15
  • 3240

vb.net 教程 3-5 窗体编程 对话框2 OpenFileDialog & FolderBrowserDialog

本节继续谈一下 打开文件对话框OpenFileDialog 选择多个文件的情况 先将 Multiselect 属性设置为 True,这样就可以选择多个文件了。 多个文件的选择,可以使用鼠标在对话框...
  • UruseiBest
  • UruseiBest
  • 2017年05月17日 20:38
  • 408

vb.net 教程 3-3 窗体编程 消息对话框

vb初出来时,大家眼睛为之一亮,就是因为其可视化的编程,当然这个编程离不开各种控件的支持,本节以及后续的几节都主要是讲vb.net中自带的控件使用。 个人理解:windows系统是消息驱动型的系统...
  • UruseiBest
  • UruseiBest
  • 2017年04月25日 23:12
  • 503

vb.net 教程 4-2 目录操作 DirectoryInfo 2

上一节讲到了使用DirectoryInfo属性获取目录信息,本节讲一下有关DirectoryInfo的几个重要方法:创建、删除、移动 创建目录使用的是 Create() 方法,主要代码如下: ...
  • UruseiBest
  • UruseiBest
  • 2017年07月10日 17:18
  • 294

vb.net 教程 4-2 目录操作 DirectoryInfo 1

.Net对文件的操作主要通过System.Io命名空间进行的,包括驱动器、文件夹、文件信息的获取、简单操作,以及文件和数据流的读写等。 在本章教程中需要引用System.Io,请在窗体的所有代码之前,...
  • UruseiBest
  • UruseiBest
  • 2017年07月10日 17:17
  • 395
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB.NET 中调用浏览目录对话框
举报原因:
原因补充:

(最多只允许输入30个字)