OpenFileDialog/c#isslowonanyfile.更好的解决方案我在c#中使用OpenFileDialog打开文件,我注意到加载文件和清除对话框需要20-40秒。这是我的示例代码:privatevoidbtnOpen_Click(objectsender,EventArgse){if(ofdSettings.ShowDialog()==DialogResult.OK){//donothing}}即使是这个有限的示例,对话框也需要20-40秒持续时间清除。我选择的文件是一个只有1.36kb的xml文件我有同样的问题,openFileDialog1.ShowDialog()很慢,关闭它后需要10秒才能执行我的程序的下一行。我在对话框中注意到我在“计算机”下有几个旧的快捷方式指向不再有效的webdavurl。我从Windows资源管理器中删除了这些快捷方式,现在程序运行速度很快。检查是否有任何与计算机相关的网络连接快捷方式,这些快捷方式也显示在对话框中(在Windows7的左侧面板中)。尝试删除它们并查看对话框是否更快。就我而言,还有另一种选择:OpenFileDialogofd=newOpenFileDialog{...AutoUpgradeEnabled=false};根据MSDN文章,使用此选项,OpenFileDialog呈现出更简单的UI,“pre-Vista”风格。当我想用文件打开对话框打开example.url文件时,我也遇到了这个问题。这需要0-10秒。然后我发现这与文件类型关联(*.url)有共同之处当我将关联从默认网络浏览器更改为notepad++时,问题消失了。但这对我来说没有解决方案,因为当有人点击example.url时,默认浏览器应该打开这个文件。为了解决这个问题,我添加了DereferenceLinks=false。OpenFileDialogofd=newOpenFileDialog{...DereferenceLinks=false};对我来说,这个解决方案是完美的您可以使用免费工具,如ProcExp(SysInternals.com)来监控您的应用程序在延迟期间正在做什么。是在扫描文件系统吗?注册表?网络(可能它正在尝试连接到响应缓慢的网络共享)。顺便说一句,您可以运行ProcExp.exe而无需从http://live.sysinternals.com/安装它!以上是C#学习教程:OpenFileDialog/c#isslowonanyfile。BetterSolutions分享的所有内容,如果对您有用,需要了解更多C#学习教程,希望您多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
