我有一个OpenFileDialog,过滤器设置为* .wav。但是,当我执行OpenFileDialog时,它还会显示包含 .wav的其他文件,但真正的扩展名不是.wav,例如PNG。为什么这样,我怎么能避免这个?
现在我在加载文件进行处理时会处理它,但我想避免首先将它们放在OpenFileDialog列表中。这是控件中的错误还是我?
背景:我偶然将图片文件重命名为TheFile.wav.png - 愚蠢,是的,但这些事情也会发生在其他用户身上。
提前致谢
答案 0 :(得分:1)
尝试此操作在对话框中设置文件类型:
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
属性时,您遵循我上面的模式,否则它将无效。另外,如上所述,您可能希望在用户选择某些内容后进行一些验证。