打开文件对话过滤器未按预期工作

Open file dialogue filter not working as intended

我创建了一个小应用程序,可以获取文件并将其上传到 SQL 数据库。我只希望应用程序获取 .CSV 文件,我已经应用了我认为必要的过滤器,但是用户仍然可以看到并尝试上传我需要限制的其他文件类型。

我搜索了如何过滤文件类型并将其应用于下面的代码。当打开文件对话框起作用时,我可以在下拉框中看到它,但它实际上并没有过滤任何东西;用户仍然可以 select 其他文件类型并尝试上传它们。

OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
ofd.Filter = "CSV files (*.csv)|";
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK) 
        {
 //Do work here
        }

有没有办法检查用户是否 select 编辑了 cxsv 并在没有编辑时停止进程?还是真正执行过滤器的初衷并隐藏其他文件类型?非常感谢

您只设置了过滤标签,没有设置文件扩展名。

ofd.Filter = "CSV files (*.csv)|*.csv";

您缺少文件扩展名。您可以参考FileDialog.Filter Property了解更多详情。

ofd.Filter = "CSV files (*.csv)|*.csv";