我有一个过滤器设置为 *.wav 的 OpenFileDialog。但是,当我执行 OpenFileDialog 时,它还会显示其他包含.wav 的文件,但真正的扩展名不是 .wav,而是例如 png。为什么会这样,我该如何避免这种情况?
现在我在加载文件进行处理时会处理它,但我想首先避免将它们放在 OpenFileDialog 列表中。这是控件中的错误还是我?
背景:我无意中将图片文件重命名为 TheFile.wav.png - 愚蠢的,真的,但这种事情也会发生在其他用户身上。
提前致谢
我有一个过滤器设置为 *.wav 的 OpenFileDialog。但是,当我执行 OpenFileDialog 时,它还会显示其他包含.wav 的文件,但真正的扩展名不是 .wav,而是例如 png。为什么会这样,我该如何避免这种情况?
现在我在加载文件进行处理时会处理它,但我想首先避免将它们放在 OpenFileDialog 列表中。这是控件中的错误还是我?
背景:我无意中将图片文件重命名为 TheFile.wav.png - 愚蠢的,真的,但这种事情也会发生在其他用户身上。
提前致谢
试试这个在对话框中设置文件类型:
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "wav files (*.wav)|*.wav";
dialog.InitialDirectory = @"C:\"; // You may not need this.
if (dialog.ShowDialog() == DialogResult.OK) // Or this; I was just being thorough.
{
// Your code can go here.
}
只要确保在使用该.Filter属性时,您遵循我上面的模式,否则它将不起作用。此外,如上所述,您可能希望在用户选择某些内容后进行一些验证。