有没有办法自定义OpenFileDialog来选择文件夹而不是文件?

时间:2011-01-21 16:12:37

标签: c# .net vb.net openfiledialog

我有一个VB / C#.NET 2.0项目,如果可能的话,我想自定义OpenFileDialog框来选择目录而不是文件。之所以这样是因为FolderBrowserDialog很丑陋,而且我的大多数用户都很难使用它。

我知道如何使用OpenFileDialog过滤扩展,但有没有我可以设置的标志或变量,这将允许我只显示目录并选择内置于.NET的那些目录?如果不是,那么如果我要创建自己的第三方对话框/我应该从哪里开始呢?

我道歉,我没有太多创建前端的经验。任何帮助或方向将非常感谢:)

2 个答案:

答案 0 :(得分:2)

看看这个 - How do you configure an OpenFileDialog to select folders? 可能这就是你想要的。

答案 1 :(得分:0)

检查question that Mayank posted后,我发现在.NET中没有本地方法可以做到这一点。然而,斯科特·威斯涅夫斯基(Scott Wisniewski)的一篇文章正是我所寻找的。

我必须做的唯一事情就是在.NET 2.0中使用以下代码:在名为ExtensionAttribute.cs的文件中将以下代码添加到我的项目中。在.NET 3.5+中不需要此方法,但请注意,据报告,这在Visual Studio 2005中根本不起作用。

namespace System.Runtime.CompilerServices
{
   [AttributeUsage(AttributeTargets.Method)]
   public sealed class ExtensionAttribute : Attribute
   {
      public ExtensionAttribute() { }
   }
}

同样,此代码段仅适用于Visual Studio 2008,它不适用于VS 2005。