You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#记事本保存文件抛出System.ArgumentException错误求助

解决SaveFileDialog过滤字符串格式错误的问题

这个报错信息已经把问题说的很明白啦——你设置的SaveFileDialog的Filter字符串格式不符合要求!

问题根源

SaveFileDialog的Filter规则很明确:每个过滤选项必须遵循「描述文本|过滤模式」的格式,多个选项之间用竖线|分隔。你代码里的这一行:

sv.Filter="Text Document(*.txt)|*.txt|All Files(*.*)";

最后一个All Files(*.*)只写了描述文本,却漏掉了对应的过滤模式|*.*,这就导致系统无法识别这个过滤项,直接抛出了参数异常。

修正后的代码

把Filter字符串补全就能解决问题,修正后的完整代码如下:

SaveFileDialog sv = new SaveFileDialog();
sv.Filter="Text Document(*.txt)|*.txt|All Files(*.*)|*.*"; // 补全All Files对应的过滤模式
if (sv.ShowDialog() == DialogResult.OK)
{
    richTextBox1.SaveFile(sv.FileName, RichTextBoxStreamType.PlainText);
    this.Text = sv.FileName;
}

小优化提示

如果你想让保存类型的描述更易读,也可以给描述里加个空格,效果完全一致:

sv.Filter="Text Documents (*.txt)|*.txt|All Files (*.*)|*.*";

这样用户在选择保存格式时,界面上的文本会更清晰。

内容的提问来源于stack exchange,提问作者Zuriosmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:36:54