从C#中的“打开文件”对话框中排除文件扩展名

5 c# openfiledialog visual-studio

我正在尝试在我的C#openFileDialog上放置一个过滤器,该过滤器不包含某些文件扩展名。例如,我希望它显示目录中不是.txt文件的所有文件。

有没有办法做到这一点?

Ree*_*sey 2

没有直接的方法可以使用 BCL OpenFileDialog 来执行此操作。

我可以想到几个选择:

1)创建一个过滤器,其中包含您想要支持的所有类型。这是我的建议,因为这是进行此类操作的最常见方法。

2) 使用与此自定义 OpenFileDialog 实现类似的内容。然后,如果所选文件具有 .txt 扩展名,您可以重写 OnFileNameChanged() 方法以潜在地禁用“打开”按钮。

3) 让用户选择一个 .txt 文件,弹出错误对话框,然后重新打开文件对话框。不过,这感觉很笨重,对我来说不太好......