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

标签 c# .net vb.net openfiledialog

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

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

抱歉,我没有太多创建前端的经验。对此的任何帮助或指导将不胜感激:)

最佳答案

检查 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。

关于c# - 有没有办法自定义 OpenFileDialog 来选择文件夹而不是文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761003/

相关文章:

c# - 子字符串问题

vb.net - VB.Net中的换行符?

vb.net - vb.net 将一个字符串分割成2个不同的子字符串

asp.net - 友好的 URL 和查询字符串

c# - 比较 TFS 中的文件夹

c# - Crystal 报表——关闭数据库连接

c# - 没有通用扩展方法的类型推断

c# - 服务引用错误 : Failed to generate code for the service reference

.net - 向开源项目的源代码管理添加强名称 key 有任何安全问题吗?

c# - 这是对设置功能的滥用吗?