即使在禁用验证后,OpenFileDialog也不允许使用'/'字符

时间:2016-08-17 22:58:59

标签: c# openfiledialog

类似的问题:How to avoid of file name validation in SaveFileDialog C#

我正在编写一个应用程序,它有一个选项可以支持打开可执行文件并使用给定的参数运行它们,我正在尝试使用OpenFileDialog作为一种用户友好的方式来实现这一点。禁用AddExtensionValidateNamesCheckFileExistsCheckPathExists后,我可以将参数传递给可执行文件,应用程序会使用所需的参数运行它们。

但是,当我尝试传递包含“无效”文件名字符(例如“/”)的参数时,我停止并获取此示例消息:

Example validation message

并且不允许继续,即使ValidateNames设置为false。

以下是有关对话框的代码:

OpenFileDialog dialog = new OpenFileDialog();
dialog.AddExtension = false;
dialog.CheckFileExists = false;
dialog.CheckPathExists = false;
dialog.ValidateNames = false;
if (dialog.ShowDialog() == DialogResult.OK) {
    //Parse text manually here (parsing is fully handled on the developer side)
}

有没有办法解决这个问题并完全禁用输入验证,还是我必须编写自定义文件对话框实现?

1 个答案:

答案 0 :(得分:0)

您无法覆盖默认验证。因此,您要么必须在单独的对话中询问参数,要么自己重新实现文件打开对话。