我有一个 Windows 窗体应用程序(用 vs2010/C# 编写,针对 .NET Framework 3.5),只有一个主窗体。它是在 Win7 的 100% DPI 设置下设计的(我相信那是 96 dpi)。当将计算机切换到 150% 时,一切看起来都很好地缩放并且所有比例都保持不变。
但是,当我切换到 125% 时,某些控件突然无法缩放并且看起来和 100% 时一样大。这会打乱整个布局,并向用户隐藏一些控件。
对于 125% 和 150% 设置之间的巨大行为差异,是否有任何合乎逻辑的解释?
此外,是否有更快的测试方法?每次切换时都必须注销并重新登录,这很快就会变得很烦人。
最佳答案
对于您观察到的内容没有简单的解释。
无需经历痛苦的登录周期即可进行测试的一种廉价方法是在 OnLoad 方法中更改表单的 Font 属性:
protected override void OnLoad(EventArgs e) {
this.Font = new Font(this.Font.FontFamily, this.Font.SizeInPoints * 120f / 96f);
base.OnLoad(e);
}
关于c# - 在不同 DPI 设置下运行的 Windows 窗体应用程序中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408158/