PrintDialog.ShowDialog()导致所有控件上的视觉样式被禁用

时间:2013-02-18 23:38:15

标签: c# .net winforms visual-studio printing

我在Visual Studio 2012中使用Windows 7 x64。显示打印对话框会导致应用程序中所有表单中的所有控件都丢失其视觉样式。我的意思是按钮失去圆角,成为Windows XP中的矩形。在显示打印对话框后,复选框在将鼠标悬停在其上时也会丢失其视觉样式。

以下代码行导致问题:

pdlg.ShowDialog();

pdlg是一个PrintDialog。这只发生在一个项目中;使用相同代码行的其他项目正常工作。 PrintDialog甚至不必连接到PrintDocument就可以发生问题(不需要触发BeginPrint / PrintPage事件)。没有抛出任何错误。我没有在应用程序中保存任何磁盘首选项。

我试过了:

  • 清洁/重建解决方案
  • 删除并重新创建PrintDocument控件和PrintDialog控件
  • 重新启动计算机
  • 转换为不同的.NET Framework版本
  • 在与不同用户相同的计算机上运行应用程序 - 视觉样式保持正确启用
  • 在其他计算机上运行应用程序 - 视觉样式保持正确启用
  • 清空用户的Temp目录
  • 重命名程序集
  • 将应用程序移动到其他目录

我的猜测是某些文件或注册表设置正在以某种方式由.NET内部保存,它只适用于一个应用程序/用户。或者某些缓存或某些东西已经腐败。我已经没有简单的故障排除方法了。谁看过这个吗?我接下来应该尝试什么?

0 个答案:

没有答案