1

我有一个在 ArcMap 中作为工具栏扩展运行的 vb.net 项目。我的每个工具都使用 .ShowDialog() 方法打开一个模式对话框。我的客户希望能够从用作帮助文档工具的工具中打开 PDF 文档,而不是像 HTMLHelp 或 Windows 帮助查看器这样的传统方法。
因此,我导入了 Interop.AcroPDFLib.dll 并设置了一个带有 AxAcroPDF (veiwer) 对象的表单。每当用户单击任何工具对话框上的帮助按钮时,帮助表单都会使用 .Show() 打开并使用 .setCurrentPage 方法转到文档中的相关页面。到目前为止,一切都很好。

但是,正如您可以想象的那样,由于工具对话框是模态的,它会阻止用户与 PDF 表单进行交互。因此,我需要一种技术来防止此阻塞,以便用户能够在工具对话框打开时滚动页面、单击 PDF 中的链接等。即,我需要一个模拟使用传统 HTMLHelp veiwer 的解决方案。

我尝试在新线程中打开 PDF 表单,但这会导致 ArcMap 在 Application.Run(New PDFForm) 处崩溃。这可能是因为我对多线程的经验很少,也可能是因为 ArcMap 不支持多线程。没有把握。

无论如何,任何让我开始的建议都会非常感激。

4

0 回答 0