如何在C#的SaveFileDialog中避免文件名验证

5

在SaveFileDialog中,是否可能避免对文件名进行验证?

  var saveFileDialog = new SaveFileDialog {
Filter = "Job package (*.job)|*.job", 
CheckPathExists = false,
 ValidateNames = false };

 var result = saveFileDialog.ShowDialog();
        if (result.Value)
        {

           ....my own validation....
        }

ValidateNames属性不起作用。无论如何,当我输入一个带有无效字符的名称时,对话框都会显示自己的弹出窗口“文件名无效”。我能避免它吗?如何做?


你所说的“无效字符”是指不能用于路径中的字符,还是例如不存在的路径? - dkozl
我的意思是不能用于文件名的字符。例如:':' 或 '|'。 - user1104698
但是,拥有无法创建的包含无效字符的路径有什么意义呢?你为什么需要它呢? - dkozl
我想自己处理并使用我的标准警告消息。 - user1104698
我需要这个来进行路径模板化。 - jnm2
1个回答

0
SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Job package|*.job";
            saveFileDialog.CheckPathExists = false;
            saveFileDialog.ValidateNames = false;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                File.WriteAllText(saveFileDialog.FileName,"");
            }

哇,那是6年前的问题,哈哈


嗨Leo,当saveFileDialog.ValidateNames设置为true时,这不是与OP想要的相反吗? - Lars Kristensen
是的,我忘记把布尔值改为false了,哈哈。不过我已经编辑过了。 - Leo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接