“另存为”对话框冻结

时间:2013-10-09 12:04:30

标签: c# .net winforms savefiledialog

我有一个winform应用程序,并且有一个代码可以打开Save as Dialog box

DialogResult result = saveFileDialog1.ShowDialog();

该程序在Windows XP上运行良好,但在Win 7上应用程序挂起,调试器不会从这行代码返回。 Event Viewer详细信息如下所示

The Program Sample.exe stopped interacting with windows and was closed

有没有人遇到过这个问题?

更新

似乎错误是由于代码在我已经删除的另一个线程上运行引起的。虽然不建议从另一个线程访问UI元素但我很惊讶为什么我在XP上运行时没有得到这个错误?

3 个答案:

答案 0 :(得分:2)

您是否设置了InitialDirectory property of the dialog

如果您是,请尝试将其设置到其他位置,如果不是,您可以尝试设置它。

如果这是默认为网络路径,可能需要花时间打开该路径吗?

答案 1 :(得分:1)

这可能是文件系统或硬盘损坏的结果。调用保存对话框时,它将尝试获取硬盘驱动器,逻辑驱动器和文件夹的列表。如果其中任何一个已损坏,它将挂起/抛出异常。

尝试在不同的Windows 7计算机上运行相同的应用程序

答案 2 :(得分:0)

您是否在Windows 7上运行系统文件Chccker(SFC)扫描,这将扫描计算机上的损坏的系统文件并替换它们。

http://support.microsoft.com/kb/929833