我有一个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
内直接验证,而不是稍后在某处进行验证。)
答案 0 :(得分:4)
你不能只在OpenFileDialog中这样做,即使你可能是一个不好的限制。
使用*.txt
示例,其中有多个文本扩展名为纯文本,*.bat
或所有编码文件扩展名*.cs
,*.js
等... < / p>
您不应该限制用户可以放在哪个文件上。
对于更复杂的文件类型,如果您的程序无法处理用户传递的文件,您应该显示错误,而不是阻止用户传递文件。