2

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

http://www.xyz.com/qdms/MyFile.PDFOpenFileDialog.FileName用户输入 url 路径时,有什么方法可以得到吗?

4

2 回答 2

1

并挂了很多时间

“挂起”具有明确定义的含义,它发生在程序对用户输入没有响应时,通常还会遭受绘画伪影的困扰,并且其 UI 被幽灵窗口替换,在标题栏中显示“无响应”。

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

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

于 2013-11-06T11:53:19.967 回答
0

我不相信有。当 Windows 识别出输入的值是 Internet 协议地址时,它会将其下载到临时文件夹并使用该文件名在文件对话框中显示/选择。唯一的另一种方法是(和愚蠢的设计)要求用户首先在自定义对话框中输入一个 url,然后获取该值并存储它。最后,在对话框中设置文件名并打开它......看看它是否下载它。当它发生并且用户点击“确定”时,获取路径并将文件名替换为用户之前在打开打开文件对话框之前在对话框中输入的文件名。

于 2013-11-06T10:57:41.350 回答