C#WPF - 仅允许某些文件扩展名

时间:2014-11-14 15:59:03

标签: c# .net wpf file openfiledialog

我有一个OpenFileDialog,我只想允许.txt作为用户的有效文件。

我知道我可以向Filter添加OpenFileDialog,如下所示:

var dialog = new OpenFileDialog();
dialog.DefaultExt = ".txt";
dialog.Filter = "Text Files (*.txt)|*.txt";
var result = dialog.ShowDialog();
// Do something with the result

问题是,我仍然可以在"test.jpg"中直接说OpenFileDialog之类的内容,然后打开此上传此.jpg文件。 (显然以后它会出错,但现在这并不重要。)我只想知道如何限制用户只添加" .txt"文件,没别的? (通过在OpenFileDialog内直接验证,而不是稍后在某处进行验证。)

1 个答案:

答案 0 :(得分:4)

你不能只在OpenFileDialog中这样做,即使你可能是一个不好的限制。

使用*.txt示例,其中有多个文本扩展名为纯文本,*.bat或所有编码文件扩展名*.cs*.js等... < / p>

您不应该限制用户可以放在哪个文件上。

对于更复杂的文件类型,如果您的程序无法处理用户传递的文件,您应该显示错误,而不是阻止用户传递文件。