saveFileDialog:文件名无效

时间:2016-04-02 06:30:42

标签: c# visual-studio savefiledialog

使用C#在Visual Studio 2015中创建应用程序,我想将文件保存到用户想要的任何位置,因此我在项目中添加了SaveFileDialog对象,但在设置属性后,我输入的文件名是什么,保存对话框显示:

  

文件名无效。

(我检查了文件路径和文件名中的字符)。

我的代码显示对话框:

DialogResult dr = saveFileDialog1.ShowDialog();
if (dr == System.Windows.Forms.DialogResult.OK)
{
     Save(saveFileDialog1.FileName);
}

有什么问题?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您应该删除Filter属性周围的双引号。

代码中的

应该是

saveFileDialog1.Filter = "Product list|*.json";

双引号似乎混淆了SaveFileDialog检查所输入名称的有效性。 (注意文本在“另存为类型”组合框中的显示方式) 此外,如果您使用扩展名键入文件名,则此错误似乎消失。

首先,您的特定过滤器文本似乎导致了问题,因为它被解释为描述而不是强制性描述后跟一个|和过滤器规格要求的扩展名。

但是如果你这样写的话

saveFileDialog1.Filter = "\"Product files|*.json\"|*.json";

您将收到一个Argument Exception错误,指出提供的Filter字符串缺少所需的格式。

所以这里唯一的结论就是你不能在Filter字符串中使用双引号。