私はC#で書かれたWindowsフォーム.NETアプリケーションを扱っています。関連するすべての機能(オブジェクトの回転、ライトの変更など)を含む3D pdfを表示する必要があります。私はAxAcroPDF COMコントロールを使用しており、スムーズに動作します。問題は、コントロールが配置されているフォームを閉じようとすると、制御を破棄している間に何らかの理由で数秒間ハングすることがあることです。テスト中にロードした3Dファイルは、特に重いものではありません。スタンドアローンのAdobe Readerの同じファイルは、特別な遅延なしに開閉できます。 私は窓内の以下のコードを使用していますが、クローズイベントを形成:AxAcroPDFコントロールウィンドウのフォームは、フォームを閉じるとハングします
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サポートで見つけられませんでした。