打印导致视觉样式exception

我使用第三方库“DevComponents for WinForm”进行可视化。 该库使用“VisualStyleRenderer”绘制其控件。

现在看来一些打印机驱动程序,在我的情况下是一个kyocera打印机,禁用当前应用程序上下文的视觉样式渲染器。 因为如果我打开一个打印对话框并关闭此对话框而不打印任何文档,我的应用程序崩溃时出现以下exception:

“视觉样式相关操作导致错误,因为当前在客户区禁用了视觉类型”

显然,打印机驱动程序本身负责禁用视觉样式渲染器。 我不知道他为什么这样做。

在关闭打印对话框后,我尝试立即重新启用视觉样式:

Application.EnableVisualStyles(); 

但没有成功。

是否有人遇到同样的错误,是否有任何解决方案或解决方法?

我可以解决这个问题。 我发现打印机驱动程序更改了“VisualStyleState”值。 要解决这个问题,我可以在关闭“PrintDialog”后直接将属性更改为默认设置:

 Application.VisualStyleState = VisualStyles.VisualStyleState.ClientAndNonClientAreasEnabled;