0

我正在使用 C#、.NET 4.0 和 DevExpress 组件开发 WinForms 应用程序。

在 Windows 7 上一切正常。

在 Windows XP SP3 上,SaveFileDialog 显示并关闭几秒钟后,应用程序将静默退出。

没有未处理的异常,应用程序退出事件不会触发,我只在 Visual Studio 输出窗口中收到消息:

The program '[3164] MyApp.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).

导致此问题的代码非常简单:

saveFileDialog1.ShowDialog();

你有什么想法为什么会发生这种情况?我该如何解决和解决这个问题?

4

2 回答 2

1

在项目属性窗口中启用非托管调试。并确保 Visual Studio 设置为中断所有异常(检查 Debug\Exceptions 菜单中的“Throw”选项)。

然后再次运行您的应用程序。VS 现在应该在异常上中断 - 它应该是导致您的应用程序失败的 shell 扩展或文件处理程序。

于 2011-08-24T14:07:38.640 回答
0

您可以尝试SaveFileDialog在新的Thread中调用您的,并告诉我们它是否有效。

您可以拥有A first chance exception of type 'System.Threading.ThreadAbortException' occurred in System.Windows.Forms.dll,这将使您的应用程序崩溃。

我认为发生这种情况是因为当前 Thread 不适合运行SaveFileDialog.

建议:检查您是否正在处理线程(以更正一些),并尝试启动一个新线程以启动所需的文件对话框。

于 2014-02-24T20:13:12.137 回答