如何使OpenFileDialog接受“有效”的URI

时间:2009-05-21 23:42:26

标签: .net uri openfiledialog

我需要使用OpenFileDialog来输入URI或本地路径。问题是URL的模式不是Windows所知的(或者应该知道因为它是测试的黑客)。

我可以关闭所有验证,只要我不给它提供无效的字符就会返回但是它会很乐意吃掉其他任何东西,而这也不是我想要的。

我想要的是它接受有效的本地路径和正确格式化的URI而不验证Uri的架构组件,即httpftp或者在开始时的任何内容。


我目前的代码是:

var dialog = new System.Windows.Forms.OpenFileDialog();

dialog.CheckFileExists = false;
dialog.CheckPathExists = false;
dialog.ValidateNames = false;

var result = dialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
    return dialog.FileName;

如果我提供对话框foo://127.0.0.1/foo,则会将文件运行到最后一行并与“The given path's format is not supported.”崩溃

为什么还要尝试验证内容?

1 个答案:

答案 0 :(得分:0)

我假设您在谈论C#/ .NET,因为您将其称为“OpenFileDialog”。

我认为你需要做的是对话框本身的子类化(它毕竟是Win32对话框)。不幸的是,我不知道如何做到这一点,但希望它能帮助你朝着正确的方向前进。