【发布时间】:2011-10-22 10:50:10
【问题描述】:
我开始在 Windows 7 上测试 Winforms(使用 VS2008)应用程序,发现一个奇怪的问题。
在前两次安装 Win7 时运行良好,但在接下来的两次中,我的许多对话框都太小了,将内容裁剪了大约 30%。
该应用程序是在 WinXP 上开发的,并且在 任何 XP 安装中都没有发现此问题!
刚刚开始调查问题 - 没有任何关于可用系统与尚未运行系统之间差异的详细信息。
编辑
根据 Kate 对其中一个答案的评论,Win7 有时会在安装新显示器时更改为自定义文本大小。有问题的机器有一个大的宽屏显示器,当我们检查(控制面板 + 显示 + 自定义文本大小)时 - 果然 - 自定义文本大小设置为 125%。将其设置为 100% 即可解决问题。
然后通过将文本大小设置为 125%,我能够在 WinXP 上复制该问题。
所以现在的问题变成了 - 如何确保 Winforms 应用程序“独立于自定义文本大小”?
/编辑
按照建议,这里有一些屏幕截图。第一个来自 Windows 7 计算机,第二个来自我的 WinXP 开发系统。
【问题讨论】:
-
控制面板+显示,设置自定义文字大小。使用 Form.AutoScaleMode。
-
看起来你的Win7机器既有主题(标题栏不是Aero)又有字体放大。你需要按照汉斯所说的去做。
-
AutoScaleMode 的推荐设置是什么?另外,AutoSizeMode 属性也可以在这里发挥作用吗?
标签: winforms visual-studio-2008 windows-7 dpi