Печать причин в визуальном стиле исключения

Я использую стороннюю библиотеку "DevComponents for WinForm" для визуализации. Эта библиотека использует "VisualStyleRenderer" для рисования своих элементов управления.

Похоже, что некоторые драйверы принтеров, в моем случае это принтер kyocera, отключают визуальный стиль визуализации для текущего контекста приложения. Потому что, если я открою диалоговое окно печати и закрою это диалоговое окно без печати какого-либо документа, мое приложение будет аварийно завершено со следующим исключением:

"Операция, связанная с визуальными стилями, привела к ошибке, потому что типы визуалов в настоящее время отключены в клиентской области"

Очевидно, что сам драйвер принтера отвечает за отключение визуализатора визуального стиля. Я не знаю, почему он это делает.

Я попытался включить визуальный стиль сразу после закрытия диалога печати с помощью:

Application.EnableVisualStyles();

но без успеха.

Есть ли кто-то, кто получил ту же ошибку и есть какие-либо решения или обходные пути?

1 ответ

Я мог бы решить проблему. Я понял, что драйвер принтера меняет значение "VisualStyleState". Чтобы решить эту проблему, я легко изменил свойство на настройку по умолчанию сразу после закрытия "PrintDialog" с помощью:

Application.VisualStyleState = VisualStyles.VisualStyleState.ClientAndNonClientAreasEnabled;
Другие вопросы по тегам