我们在需要让用户只选择文件夹而不是具体的文件的时候,就可以使用 FolderBrowserDialog 组件了,在vb.net的工具箱中,该组件如下图二所示:
一、FolderBrowserDialog 组件的常用属性
1、Description 属性:用于设置对话框中在树视图控件上显示的说明文本,该属性默认为空,我们可以使用它为用户指定附加的说明等信息,如下使用:
FolderBrowserDialog1.Description="Description 属性的说明文本"
运行效果如下图三红色区域中就是 Description 属性的文本显示所示:
2、RootFolder 属性:置从其开始浏览的根文件夹,默认为 Desktop。只有指定的文件夹及其所有子文件夹将出现在对话框中,并可被选定。
3、ShowNewFolderButton 属性:指示是否在对话框中显示“新建文件夹”的按钮,默认为True。
只要 SelectedPath 是绝对路径并且是 RootFolder 的子文件夹的,SelectedPath 属性与 RootFolder 就能确定对话框显示时选定的文件夹。
二、显示对话框
我们通过 ShowDialog 方法来为用户显示对话框,如果 ShowDialog 返回 DialogResult.OK,表明用户单击了 OK 按钮,则 SelectedPath 属性将返回包含选定的文件夹路径的字符串。如果 ShowDialog 返回 DialogResult.Cancel,表明用户退出了对话框,则此属性的值与它在显示对话框前的值相同。如果用户选择一个没有物理路径的文件夹(例如 My Computer),则对话框上的 OK 按钮将被禁用。
三、示例:
'指定对话框的起始根文件夹
FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.Programs
'指定初始选定的文件夹
FolderBrowserDialog1.SelectedPath = "C:\Documents and Settings\Administrator\「开始」菜单\程序\WEB迅雷"
FolderBrowserDialog1.Description = """浏览文件夹""示例程序——QQRead.com"
'定义变量用于接收对话框返回的信息
Dim se As DialogResult
se = Me.FolderBrowserDialog1.ShowDialog()
If se = DialogResult.OK Then
MessageBox.Show("你选择的文件夹路径为:" & FolderBrowserDialog1.SelectedPath)
End If
private void btnSaveFolder_Click(object sender,EventArgs e) { FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog(); folderBrowserDialog1.Description = "Please select the folder you want to save as Log File"; folderBrowserDialog1.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); if (DialogResult.OK == folderBrowserDialog1.ShowDialog()) { LogHelper.FilePath = folderBrowserDialog1.SelectedPath; this.txtFolder.Text = folderBrowserDialog1.SelectedPath; } }