我正在使用C#中的OpenFileDialog打开一个文件,我注意到加载文件并清除对话框需要20-40秒。
下面是我的示例代码:
private void btnOpen_Click(object sender, EventArgs e)
{
if (ofdSettings.ShowDialog() == DialogResult.OK)
{
// do nothing
}
}
即使在这个有限的例子中,清除对话也需要20-40秒的持续时间。我选择的文件是一个只有1.36kb大小的xml文件
5条答案
按热度按时间iecba09b1#
我也遇到了同样的问题,openFileDialog1.ShowDialog()很慢,在关闭它之后需要10秒才能执行程序的下一行。我注意到在对话框中,我在“计算机”下有几个旧的快捷方式,指向不再有效的webdav URL。我从windows资源管理器中删除了这些快捷方式,程序现在很快了。检查是否有任何网络连接快捷方式绑定到您的计算机,这也显示在对话框(在Windows 7的左侧面板)。尝试删除它们,看看对话框是否更快。
sqyvllje2#
另一个对我有帮助的选择:
使用此选项,OpenFileDialog呈现更简单的UI,根据MSDN article的“pre-Vista”风格。
rqcrx0a63#
我也有这个问题时,我想打开一个例子。url文件与文件打开对话框。需要0-10秒。然后我发现这与文件类型关联(*.url)有关。当我将关联从默认Web浏览器更改为Notepad++时,问题就消失了。但我这对我来说不是解决方案,因为当有人点击example.url时,默认浏览器应该打开这个文件。为了解决这个问题,我添加了
DereferenceLinks = false
。对我来说,这个解决方案工作完美
brc7rcf04#
您可以使用免费工具,如ProcExp(SysInternals.com)来监视应用程序在滞后期间的操作。它正在扫描文件系统吗?登记处?网络(可能是它正在尝试连接到响应缓慢的网络共享)。
顺便说一句,你可以运行ProcExp.exe而不需要从http://live.sysinternals.com/安装它!
ghhkc1vu5#
这是一个老帖子,但WPF中仍然缺少文件浏览对话框。打开WinForm OpenFileDialog在多次调用时仍然存在延迟问题。对我来说有效的解决方案是不保持对话框打开,而是在完成检索所需信息后进行处理,每次创建一个新对话框。