我有这个C#windows窗体应用程序,我在其中加载XML文件或CSV文件以执行某些任务操作。我有一个浏览按钮。当我单击“浏览”按钮时,将出现“打开文件”对话框,我可以导航到驱动器上的某个位置并选择该文件,然后使用“上载”按钮将其上载。 如果我加载JPG或ZIP文件或任何格式为CSV或XML以外的文件,我的应用程序崩溃。有没有办法限制打开文件对话框在C#中只打开CSV或XMl文件?
答案 0 :(得分:28)
使用
openFileDialog.Filter = "CSV files (*.csv)|*.csv|XML files (*.xml)|*.xml";
这样只显示csv文件或xml文件。 但是,如果用户输入完整的名称,用户也可以选择其他文件类型 - 因此请检查所选的文件名并相应地更正您的代码。
答案 1 :(得分:0)
您可以使用Filter
属性让用户选择某种类型的文件。
然而!这不是保证。用户仍然可以在文件名框中输入'(star)。(star)'并显示所有文件。因此,您还应该在代码中检查生成的文件。
您可以使用Path.GetExtension()
方法执行此操作。
答案 2 :(得分:0)
您可以在“打开文件”对话框中应用过滤器,该对话框仅显示上述.xml和csv文件。 使用path.getextension http://msdn.microsoft.com/en-us/library/system.io.path.getextension.aspx您可以检查用户是否确实选择了具有正确扩展名的文件。如果选择了错误的扩展名,则可以提示选择其他文件。
我强烈建议您在上传前检查文件扩展名。只需在用户选择文件后检查扩展名即可。如果选择了错误的文件,则不要继续上传/处理...