打印导致视觉样式异常

时间:2015-01-16 12:57:33

标签: c# .net winforms

我正在使用第三方库" DevComponents for WinForm"用于可视化。 这个库使用" VisualStyleRenderer"用于绘制控件。

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

"视觉样式相关操作导致错误,因为目前在客户区禁用了视觉效果类型"

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

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

Application.EnableVisualStyles();

但没有成功。

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

1 个答案:

答案 0 :(得分:1)

我可以解决这个问题。我想通了打印机驱动程序更改了“VisualStyleState”值。 要解决这个问题,我可以在使用以下方法关闭“PrintDialog”后直接将属性重新更改为默认设置。

Application.VisualStyleState = VisualStyles.VisualStyleState.ClientAndNonClientAreasEnabled;
相关问题