Я имею дело с окнами форм .NET-приложений, написанных на C#, которые должны отображать 3D-pdf со всеми связанными функциями (вращать объект, менять свет и т. Д.). Я использую элемент управления AxAcroPDF COM, и он работает плавно. Проблема в том, что когда я пытаюсь закрыть форму, где размещается элемент управления, иногда он висит в течение нескольких секунд без видимой причины при утилизации элемента управления. 3D-файл, загруженный во время тестов, не очень тяжелый. Тот же самый файл в автономном читателе adobe открывается и закрывается без особой задержки. Я использую следующий код в пределах окон образуют закрытие события:Форма окна управления 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.