由于 PDF 查看器,表单关闭缓慢

Form closing slow because of PDF viewer

我们有一个使用 PDFViewer 和 AxAcroPDFlib 的 Winforms 应用程序。我们以前遇到过关闭时表单会挂起的问题,因为 pdf 控件无法关闭。 here 找到的解决方案是在表单关闭事件期间将焦点分配给不同的控件。自实施以来,这一直没有问题。

上周对 Adob​​e Reader DC 进行了更新,问题似乎又出现了。再次关闭表格有延迟。关闭表单时,任务栏上会出现一个 Adob​​e Acrobat 图标约 10 秒钟,然后消失,表单关闭。这是之前发生的事情。

现在有人知道如何解决这个问题吗?

我想用另一个不依赖于用户安装 Acrobat 的控件替换此控件,但在我有时间这样做之前,我需要一个 fix/workaround。

我遇到了同样的问题。

关闭工作时从表单的控件集合中删除 AxAcroPDF 控件 对我来说。

一个

在尝试解决此问题的过去 8 小时中尝试了很多解决方案后,我终于找到了解决方案。

在 FormClosing 事件期间添加以下内容

  • 使用 loadFile 例程加载不存在的 PDF
  • 将焦点转移到其他对象
  • 让其他事件触发
  • 睡 50 分钟

请参阅下面的 C# 代码。如果我删除这些行中的任何一行,表格关闭时会重新出现。

if (this.axPDF != null)
{
    axPDF.LoadFile("someFileThatDoesntExist.PDF");
    cmdNext.Focus();
    System.Windows.Forms.Application.DoEvents();
    System.Threading.Thread.Sleep(50);
    axPDF.Dispose();
}

今天早上我的申请没有延迟。我检查了程序和功能,发现 Acrobat Reader 已经更新到版本 15.023.20070。看起来 Adob​​e 已经修复了这个错误。我再也看不到延迟了。

如果您一直遇到此问题,请检查更新是否已为您修复。在过去的几周里,我看到了一些其他人说对他们有用但对我不起作用的解决方法,所以我的问题可能与其他人不一样,所以此更新可能无法解决每个人的问题。不过它似乎已经修复了我的问题。