0

最近我决定在我的 VB.NET 应用程序中实现 WeifenLuo DockPanel Suite。一切正常,直到您尝试关闭应用程序,然后它会冻结。什么都没发生。

我试过了:

  • 关闭前处理 DockPanel
  • 使用 Application.Exit()
  • RunningApplication.DoEvents() 关闭前
  • 在关闭之前关闭任何打开的 DockPanel 表单。
  • 在 Visual Studio 调试器之外运行应用程序。
  • 将 Visual Studio 设置为针对 x86 而不是 AnyCPU
  • 升级/下载 DockPanel Suite 框架版本

然而仍然没有,仍然只是冻结。

输出显示以下消息:

The thread 0x1f34 has exited with code 259 (0x103).
The thread 0x22b8 has exited with code 259 (0x103).

每次线程名称都不同。但是我没有任何线程在运行。

这只发生在带有 DockPanel 的表单上。

有什么想法吗?我在网上找不到其他人有这个问题,这真的很令人沮丧。

谢谢。

4

1 回答 1

0

在我的应用程序的表单关闭事件中,我使用以下方法遍历了 DockPanel 中的所有打开的文档:

While i < DockPanel1.ActiveDocumentPane.Contents.Count
        Dim dockContent As IDockContent = DockPanel1.ActiveDocumentPane.Contents(i)
        dockContent.DockHandler.Close()
End While

这就是导致应用程序冻结的原因。为了解决这个问题,我用这个替换了代码:

For Each item As DockContent In DockPanel1.Documents
        item.DockHandler.Close()
Next
于 2015-04-24T21:36:38.140 回答