我们知道,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();
elsetextBox1.Text="你没有选择目录";

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

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

原文地址:http://www.cnblogs.com/weiqt/articles/1834552.html

转载于:https://www.cnblogs.com/kafony/archive/2011/09/11/2173540.html

【转】用C#获取浏览文件夹对话框相关推荐

  1. MFC实现打开、保存文件对话框和浏览文件夹对话框,把代码直接拷贝到要响应的按钮函数下面就行了

    MFC实现打开.保存文件对话框和浏览文件夹对话框,把代码直接拷贝到要响应的按钮函数下面就行了 一.打开.保存对话框 文件对话框属于通用对话框范畴(另外还有颜色,查找,查找替换,字体,打印等对话框). ...

  2. VC++打开、保存文件对话框和浏览文件夹对话框

    一.打开文件夹: 1.CFileDialog实现 CFileDialog hFileDlg(true,NULL ,    NULL,    OFN_FILEMUSTEXIST | OFN_READON ...

  3. 如何读取服务器的文件夹大小,请教如何获取outlook文件夹对话框中服务器数据大小?...

    Hi, 感谢你在MSDN发帖. 对于这篇文章,我认为可以这么理解. 如果你想获取服务器上面的文件夹的大小,outlook通常使用IMsgStore::OpenEntry 这个方法并且使用MAPI_NO ...

  4. [转]VBA代码调用浏览文件夹对话框的几种方法

    1.使用API方法 '[类型声明] Private Type BROWSEINFO     hWndOwner      As Long     pIDLRoot       As Long     ...

  5. java怎么获取服务器文件夹,java获取远程服务器的文件夹

    java获取远程服务器的文件夹 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过 ...

  6. 选择文件对话框、保存文件对话框、选择文件夹对话框

    选择文件对话框 // 设置图像文件过滤格式CString lv_strFilterAll = _T("所有文件(*.*)|*.*||");CString lv_strFilterJ ...

  7. 弹出打开/保存文件对话框 选择文件夹对话框

    打开/保存文件对话框: CFileDialog::CFileDialog(BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框LPCTSTR ...

  8. cordova flie文件目录_Cordova - 访问www目录下文件(获取www文件夹路径)

    我们使用Cordova开发时,会将html页面或着一些图片等资源文件放在 www 目录下.在程序中,如果我们想要获取到保存在 www 文件夹中的文件,方法如下. 1,获取www目录路径 (1)首先我们 ...

  9. python读取文件名-Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  10. python下载文件到指定目录-Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

最新文章

  1. 清华学霸直博简历火了!CPU、操作系统、编译器全自主写,刘知远点赞
  2. 如何加减单元格指定数字_Word如何做加减乘除?你学会这个公式就会了
  3. 不愿意和别人打交道_如果你的交际能力很差,不喜欢与人打交道,这3种职业最适合你...
  4. Magento Add Fee or Discount to Order Totals
  5. 从汇编角度看待函数调用
  6. 大数据之-Hadoop优势_(4高)---大数据之hadoop工作笔记0011
  7. 九度 题目1183:守形数----------------我用的方法自创
  8. springboot项目打包成jar包
  9. python 中的魔法类
  10. springboot @Configuration配置类里面使用@Value获取不到.yml配置文件属性的值
  11. 过程FMEA步骤三:功能分析
  12. 最新ApkIDE少月版+JAVA环境变量一键配置软件合集
  13. 使用VMware Workstation安装FusionCompute CNA和VRM
  14. 【办公自动化Excel】制作图表
  15. 马化腾绝地逢生:山重水复疑无路,柳暗花明又一村
  16. 访问服务器上的图片显示404,vue run build打包之后服务器端访问图片404
  17. 大数据项目实训总结_大数据实习报告.doc
  18. updog:一款局域网传输文件的软件
  19. mac Dw cc2017 下载
  20. 解决字母或数字溢出盒子(文字超出时不自动换行)

热门文章

  1. 解决docker-compose: command not found
  2. 查看Linux占用内存/CPU最多的进程
  3. 回文数 Exercise06_03
  4. bash环境变量配置
  5. 标准C程序设计七---03
  6. linux pmap命令
  7. windbg 查看 PEG
  8. jquery on() 转
  9. SuperMap 办公自动化服务平台
  10. 剧情介绍:“遗愿清单”