Печать причин в визуальном стиле исключения
Я использую стороннюю библиотеку "DevComponents for WinForm" для визуализации. Эта библиотека использует "VisualStyleRenderer" для рисования своих элементов управления.
Похоже, что некоторые драйверы принтеров, в моем случае это принтер kyocera, отключают визуальный стиль визуализации для текущего контекста приложения. Потому что, если я открою диалоговое окно печати и закрою это диалоговое окно без печати какого-либо документа, мое приложение будет аварийно завершено со следующим исключением:
"Операция, связанная с визуальными стилями, привела к ошибке, потому что типы визуалов в настоящее время отключены в клиентской области"
Очевидно, что сам драйвер принтера отвечает за отключение визуализатора визуального стиля. Я не знаю, почему он это делает.
Я попытался включить визуальный стиль сразу после закрытия диалога печати с помощью:
Application.EnableVisualStyles();
но без успеха.
Есть ли кто-то, кто получил ту же ошибку и есть какие-либо решения или обходные пути?
1 ответ
Я мог бы решить проблему. Я понял, что драйвер принтера меняет значение "VisualStyleState". Чтобы решить эту проблему, я легко изменил свойство на настройку по умолчанию сразу после закрытия "PrintDialog" с помощью:
Application.VisualStyleState = VisualStyles.VisualStyleState.ClientAndNonClientAreasEnabled;