C# 在OpenFileIDialog C中作为文件名的URL

C# 在OpenFileIDialog C中作为文件名的URL,c#,openfiledialog,C#,Openfiledialog,在我的C win表单中,我使用OpenFileDialog供用户选择要保存的文件。当用户指定url文件时,如http://www.xyz.com/qdms/MyFile.PDF OpenFileDialog下载该文件,并从OpenFileDialog.FileName提供下载的文件,例如C:\Documents and Settings\MyName\Local Settings\Temporary Internet Files\Content.IE5\GPIR4TYV\QDMS4[3]。PDF

在我的C win表单中,我使用OpenFileDialog供用户选择要保存的文件。当用户指定url文件时,如http://www.xyz.com/qdms/MyFile.PDF OpenFileDialog下载该文件,并从OpenFileDialog.FileName提供下载的文件,例如C:\Documents and Settings\MyName\Local Settings\Temporary Internet Files\Content.IE5\GPIR4TYV\QDMS4[3]。PDF并挂起很多时间


有什么办法可以到达吗http://www.xyz.com/qdms/MyFile.PDF 当用户输入url路径时作为OpenFileDialog.FileName?

我不相信有。当Windows识别到输入的值是internet协议地址时,它会将其下载到临时文件夹,并使用该文件名在“文件”对话框中显示/选择。唯一的另一种方法是让用户在自定义对话框中首先输入url,然后获取该值并存储它。最后,在对话框中设置文件名并打开它…查看它是否下载。当用户点击OK时,选择路径并用用户在打开“打开文件”对话框之前在对话框中输入的文件名替换文件名

而且挂了很多时间

挂起有一个定义明确的含义,它发生在程序对用户输入没有响应时,通常也会出现绘制瑕疵,其UI被重影窗口(标题栏中的重影窗口表示没有响应)替换

所有这些都不会在OpenFileDialog中发生。它只是禁用输入,但在下载过程中保持取消按钮可操作。进度条本来不错,但它不是对话框中包含的小部件。没有挂起任何东西,用户可以启动Solitair,当他切换回来时,对话框绘制得很好。如果他厌倦了等待,那么按下取消按钮效果很好


任何用户都不会因此而感到困惑。您可以使用FileOk事件在下载开始之前查看所选文件,并显示可能需要一段时间的警告。然而,这并不是非常有用,因为你无法估计它需要多长时间,而且很可能只是用一个“我知道,我知道”,让用户筋疲力尽,停止告诉我明显的感叹号。最好不要在这里帮忙,如果你愿意,你可以。

你的标题和内容基本上要求两件不同的事情。我建议把模棱两可的地方弄清楚。