用C#获取浏览文件夹对话框

简介:

http://www.cnblogs.com/lisugar/archive/2004/10/15/52678.html

http://www.51cto.com/specbook/22/4230.htm

我们知道,C#里面有选择文件的对话框控件,却没有选择文件夹的对话框控件,不少人为了选择一个文件夹只好自己用TreeView类来处理,其实在C#里面完全不用那么麻烦,我们可以用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。 

下面来看看具体是怎么实现的。 

首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class)。 

因为FolderNameEditor是在System.Windows.Forms.Design命名空间下的,此命名空间位于动态链接库system.design.dll,所以我们要先在解决方案中添加新的引用(reference)System.Design。然后在代码中添加 

     
       using System.Windows.Forms.Design;


  接着,我们新建一个FolderDialog类,此类从FolderNameEditor类继承,在此类中新建一个FolderBrowser类的实例。DisplayDialog(string description)函数用于设置实例fDialog的属性,并且显示浏览文件夹对话框。为了取得文件夹的路径,设置一个Path属性,返回选取文件夹的路径。 

  代码如下: 

     
     public class FolderDialog : FolderNameEditor
{
FolderNameEditor.FolderBrowser fDialog = new
System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public FolderDialog()
{
}
public DialogResult DisplayDialog()
{
	return DisplayDialog("请选择一个文件夹");
}

public DialogResult DisplayDialog(string description)
{
fDialog.Description = description;
	return fDialog.ShowDialog();
}
public string Path
{
get
{
return fDialog.DirectoryPath;
}
}
~FolderDialog()
{
fDialog.Dispose();
}
}


  利用这个新建的类,就可以显示浏览文件夹对话框。 

  在Form1中添加一个TextBox控件,在Form1的构造函数里添加下面代码: 

     
     FolderDialog openFolder = new FolderDialog();
if (openFolder.DisplayDialog()==DialogResult.OK)
	textBox1.Text=openFolder.Path.ToString();
else
	textBox1.Text="你没有选择目录";


  运行这个工程,就会弹出如下的浏览文件夹对话框,是不是和Windows自带的一摸一样? 



  点击确定之后会显示你选择的文件夹的路径,点击取消则显示你没有选择目录。



本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2010/08/30/1812681.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
144 9
|
1月前
|
安全 C# 数据安全/隐私保护
实现C#编程文件夹加锁保护
【10月更文挑战第16天】本文介绍了两种用 C# 实现文件夹保护的方法:一是通过设置文件系统权限,阻止普通用户访问;二是使用加密技术,对文件夹中的文件进行加密,防止未授权访问。提供了示例代码和使用方法,适用于不同安全需求的场景。
114 0
|
3月前
|
监控 安全 C#
使用C#如何监控选定文件夹中文件的变动情况?
使用C#如何监控选定文件夹中文件的变动情况?
118 19
|
程序员 C# 索引
C#之二十 Win Form对话框
C#之二十 Win Form对话框
78 0
|
6月前
|
C#
C# Winform 选择文件夹和选择文件
C# Winform 选择文件夹和选择文件
86 0
|
6月前
|
存储 C#
【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)
【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)
70 0
|
11月前
|
C#
C# “文件选择对话框“ 和 “保存对话框“
C# “文件选择对话框“ 和 “保存对话框“
|
C#
C# 统计指定文件夹下的文件
C# 统计指定文件夹下的文件 需要:统计某一指定文件夹下的文件数目和文件的全路径 示例代码: /// <summary> /// 统计文件夹内的文件 /// </summary> /// <param name="path">指定的文件夹路径</param> /// <returns></returns> ...
59 0
|
前端开发 C# 数据安全/隐私保护
ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)
ApeForms一款基于WinForm实现的开源免费商用的UI库,其中提供了一套便于用户交互的临时对话框组件(Dialog),可用于快速创建开发中常见的交互对话框,例如:消息框、提示框、输入框、单选框、多选框等。 ApeFree.ApeDialogs并不是一个包含Dialog实现的UI库,而是一套Dialog标准(提供了一套临时弹出对话框的实现标准)。 Dialog是界面开发过程中必不可少的组件,无论是桌面开发、Web前端开发、移动端开发,甚至命令行应用程序中的一次“Yes or No”的输入都可以看做是一次Dialog弹框。
549 0
ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)