如何使用打开文件对话框来选择一个文件夹

21

3
Vista的IFileDialog界面提供了这个选项。在Windows API Code Pack中,CommonOpenFileDialog类的IsFolderPicker属性中可用。 - Hans Passant
@HansPassant:如果您将其作为答案添加,我会点赞。 - Heinzi
@HansPassant:您能举个例子吗?我同意Heinzi的观点。 - Demasterpl
@Demasterpl:请参考http://stackoverflow.com/a/15456640/117870,其中链接到[此文章](http://www.lyquidity.com/devblog/?p=136 ".NET Win 7-style folder select dialog")以获取可行的解决方案。 - Alex Essilfie
非常感谢!你问的正是我想要的! :) - ACE
1个回答

30

Windows Vista的文件夹选择对话框看起来与您想要的相似。不幸的是,.NET的FolderBrowserDialog显示了旧的类似于Windows XP的对话框,这是您想要避免的。

要访问这种Vista风格的对话框,您可以:

  using Microsoft.WindowsAPICodePack.Dialogs;

  ...

  var dialog = new CommonOpenFileDialog(); 
  dialog.IsFolderPicker = true;
  CommonFileDialogResult result = dialog.ShowDialog();

请注意,此对话框在Windows Vista之前的操作系统上不可用,因此请务必首先检查CommonFileDialog.IsPlatformSupported


2
Winforms 3.5和WPF 4.0都已更新以使用Vista对话框。 - Hans Passant
1
@HansPassant: FolderBrowserDialog 不是从 FileDialog 派生的。因此,它缺少此属性(及其功能)。 - Heinzi
4
很抱歉,我只能回答英文问题。以下是您需要翻译的内容: 我希望我能够发布一个例子,但是这个问题已经关闭了。在我看来,这完全是一个不同于上面列出的可能重复的问题。 - Cesar
这个能同时选择多个文件和文件夹吗?我想要能够选择一个或多个文件,一个或多个文件夹,或者同时选择它们。正确的参数是什么? - Erik
非常感谢,这正是我正在寻找的!而且是最简单的。就像 Visual Studio 文件夹浏览(用于选择项目路径)一样。 - ACE
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接