【发布时间】:2014-11-22 07:05:46
【问题描述】:
我的应用程序在 100% DPI 设置下看起来不错,但是当用户选择不同的(125% 或 150%)字词时,容器不适合。我试图用我在这里找到的解决方案来解决这个问题:Detect windows font size (100%, 125%, 150%) 这是:
this.AutoScaleMode = AutoScaleMode.Dpi;
它修复了 150% 设置(让它有点模糊,但没关系),不幸的是,它并没有为 125% 设置相同的设置,该设置用于应用程序要运行的 PC。
是否有一些简单的解决方法或者我必须手动重新排列每个表单?
【问题讨论】:
-
在 150% 时,Windows 会接管缩放并让您的窗口将自身绘制成位图。然后它将该位图渲染到屏幕上,重新缩放以使其更大。是的,这看起来很模糊,你必须声明自己 dpiAware 才能阻止它。但是,您绝对不了解 DPI,您以某种方式阻止了控件正确地重新调整自身。就像他们通常做的那样,屏幕截图从来都不是显示编码问题的好方法。可能与表单的 Font 属性有关,请勿分配。
-
@HansPassant 我将表单中的字体大小更改为 12,这会导致问题吗?