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

时间:2017-01-17 20:58:04

标签: winforms pdf-viewer axacropdf

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

上周有一个Adobe Reader DC的更新,问题似乎已经恢复。再次关闭表单有延迟。关闭表单时,任务栏上会显示Adobe Acrobat图标大约10秒钟,然后消失并关闭表单。这就是之前发生的事情。

有没有人知道如何纠正这个问题呢?

我希望将此控件替换为不依赖于安装了Acrobat的用户,但在我有时间这样做之前,我需要修复/解决方法。

3 个答案:

答案 0 :(得分:1)

在尝试解决此问题的最后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();
}

答案 1 :(得分:0)

我遇到了同样的问题。

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

A

答案 2 :(得分:0)

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

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

相关问题