【问题标题】:AutoScaleMode DPI and the PrintDialogAutoScaleMode DPI 和 PrintDialog
【发布时间】:2010-12-10 10:03:12
【问题描述】:

在启用我们的应用程序以使用 AutoScaleMode = DPI 后,当我们以大于 96 的 DPI 显示 PrintDialog 时,我们遇到了一个奇怪的问题。在显示 PrintDialog 后,某些控件上已经显示的文本大小比已经缩放的要增加尺寸。在之后打开的表单上,控件正确缩放,但字体恢复到 96 DPI 的大小。

肯定其他人一定在使用这种组合,有谁知道会导致这种情况的原因以及是否有解决方案?

【问题讨论】:

  • 我怀疑你会让任何人认识到这个问题。 AutoScaleMode = Font 是大多数任何形式的正确设置。您总是关心控件内的文本。

标签: .net printdialog autoscalemode


【解决方案1】:

看起来这个错误只存在于 Windows Vista 上,因为在我们的 Windows 7 64 位机器上这不是问题。

在 Vista 32 位设置 oDialog.UseEXDialog = false; 似乎可以解决问题;但是在查看反射器中的 PrintDialog 代码后,看起来这仅适用于 32 位版本,并且无法解决 64 位 Vista 机器上的问题。

看起来我们只会将 DPI 缩放的支持限制在 Windows 7 或更高版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    相关资源
    最近更新 更多