FolderBrowserDialog需要很长时间才能列出位于USB驱动器中的文件夹的子文件夹

时间:2009-06-24 12:06:57

标签: .net usb performance folderbrowserdialog

在USB驱动器中使用FolderBrowserDialog需要几分钟才能提供子文件夹(与子文件夹的数量无关)。而Windows资源管理器确实以相对快速的方式显示它们。

我正在使用的代码是:

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {
  //grab value
}

我导航到USB驱动器,然后单击root中的文件夹以等待很多时间。

这是Windows Server 2003 x64上的.NET 2.0 SP1(32位可执行文件)

这有什么原因吗?为什么它比Windows资源管理器花费的时间更长?

粗略的谷歌搜索似乎表明我一个人在这。我发现它在64位系统上崩溃的引用,但我实际上并没有崩溃,如果我等了好几分钟就结束了。

2 个答案:

答案 0 :(得分:0)

你有没有尝试调试Windows资源管理器,打开子文件夹时系统调用是否会受到影响?并为您的应用程序做同样的事情?要么系统调用存在差异,要么正在做更多事情。或者最后一种情况,它失败很多次,只有几次成功。

答案 1 :(得分:0)

您所连接的USB端口是什么版本? 1.0 / 1.1将比2.0更长的响应时间。此外,如果您的Windows版本可以对附加设备进行幕后索引,则可能在您在资源管理器中单击它时将其编入索引;你的功能就是“现场和面对面”,可以这么说。