前端之家收集整理的这篇文章主要介绍了
选择文件夹的控件Folderbrowserdialog,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
.net中的 FolderBrowserDialog 组件也是一个标准的预设对话框(如下图一所示),
用户可以通过它浏览并选择
文件夹,也可以先创建然后再选择这个新建的
文件夹,
文件夹的浏览通过树控件来完成。
@H_
502_0@我们在需要让
用户只选择
文件夹而不是具体的
文件的时候,就可以使用 FolderBrowserDialog 组件了,在vb.net的工具箱中,该组件如下图二所示:
@H_
502_0@一、FolderBrowserDialog 组件的常用
属性
@H_
502_0@1、Description
属性:用于设置对话框中在树视图控件上
显示的说明文本,该
属性默认为空,我们可以使用它为
用户指定附加的说明等信息,如下使用:
@H_
502_0@FolderBrowserDialog1.Description="Description
属性的说明文本"
@H_
502_0@运行
效果如下图三红色区域中就是 Description
属性的文本
显示所示:
@H_
502_0@2、RootFolder
属性:置从其开始浏览的根
文件夹,默认为 Desktop。只有指定的
文件夹及其所有子
文件夹将出现在对话框中,并可被选定。
@H_
502_0@3、ShowNewFolderButton
属性:指示是否在对话框中
显示“新建
文件夹”的按钮,默认为True。
@H_
502_0@4、SelectedPath
属性:返回
用户选择的路径。
@H_
502_0@只要 SelectedPath 是
绝对路径并且是 RootFolder 的子
文件夹的,SelectedPath
属性与 RootFolder 就能确定对话框
显示时选定的
文件夹。
@H_
502_0@二、
显示对话框
@H_
502_0@我们通过 ShowDialog
方法来为
用户显示对话框,如果 ShowDialog 返回 DialogResult.OK,表明
用户单击了 OK 按钮,则 SelectedPath
属性将返回包含选定的
文件夹路径的字符串。如果 ShowDialog 返回 DialogResult.Cancel,表明
用户退出了对话框,则此
属性的值与它在
显示对话框前的值相同。如果
用户选择一个没有物理路径的
文件夹(例如 My Computer),则对话框上的 OK 按钮将被禁用。
@H_
502_0@三、示例:
@H_
502_0@下面我们就演示一下如何为
用户显示“浏览
文件夹”对话框。
@H_
502_0@在按钮的Click事件中
添加如下
代码:
@H_
502_0@'指定对话框的起始根
文件夹
@H_
502_0@FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.Programs
@H_
502_0@'指定初始选定的
文件夹
@H_
502_0@FolderBrowserDialog1.SelectedPath = "C:\Documents and Settings\Administrator\「开始」
菜单\程序\WEB迅雷"
@H_
502_0@'指定对话框
显示的
文字说明
@H_
502_0@FolderBrowserDialog1.Description = """浏览
文件夹""示例程序——QQRead.com"
@H_
502_0@'定义变量用于接收对话框返回的信息
@H_
502_0@Dim se As DialogResult
@H_
502_0@se = Me.FolderBrowserDialog1.ShowDialog()
@H_
502_0@If se = DialogResult.OK Then
@H_
502_0@Message
Box.Show("你选择的
文件夹路径为:" & FolderBrowserDialog1.SelectedPath)
@H_
502_0@End If
@H_
502_0@运行,
用户单击按钮时,
显示如下图四所示:
@H_
502_0@ 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; } }