【发布时间】:2016-12-07 16:09:12
【问题描述】:
我正在处理一个用 C# 编写的 Windows 窗体 .NET 应用程序,它需要显示具有所有相关功能(旋转对象、更改灯光等)的 3D pdf。我正在使用 AxAcroPDF COM 控件,它运行平稳。问题是,当我尝试关闭放置控件的表单时,有时它会在处理控件时挂起几秒钟而没有明显的原因。我在测试期间加载的 3D 文件不是特别重。独立 adobe 阅读器中的相同文件打开和关闭没有特别的延迟。 我在 windows 窗体关闭事件中使用以下代码:
private void DrawingForm_FormClosing(object sender, FormClosingEventArgs e)
{
this.axAcroPDF.Dispose();
Application.DoEvents();
CoFreeUnusedLibraries(); }
[System.Runtime.InteropServices.DllImport("ole32.dll")]
static extern void CoFreeUnusedLibraries();
有趣的是,如果文件刚刚显示,窗体会正常关闭,但是,当旋转 3D 文件中的对象时,它会在关闭过程中挂起。当它挂起时,会显示手表的图标(与独立 Adobe PDF 中显示的相同)。悬挂时间在15-20秒之间。 我试图在 webbrowser 控件中显示该文件,但得到了类似的结果。这个问题的原因是什么? 我试图寻找其他稳定的控件,但没有找到任何支持 3D 的控件。
【问题讨论】:
标签: c# winforms pdf 3d controls