我创建了一个应用程序,它在用户选择125%或150%时完美地运行。但这会破坏我的应用程序。后来,我找到了一种通过检测DPI来查找字体大小的方法。
这一切都很好,直到开始使用我的应用程序来自中国的Windows 7的人们。整个应用程序在中国Windows 7上崩溃了。据我所知(因为我只有英文版,安装语言包不会导致问题),中文字符导致了奇怪的DPI,破坏了我的应用程序。
我的当前代码工作原理如下:
if (dpi.DpiX == 120) // For 125% fonts
{
// Resize form and set default font to correct problems
}
else if (dpi.DpiX == 96) // For 100 and 150% fonts
{
// Resize form and set default font to correct problems
}
在英文版的Windows 7上,这很好用,但是在中文版上却不起作用,表格会自我毁灭,控件甚至不显示出来,字体非常大而且超出了问题,图片框也被移动了。
那么有没有一种好的方法可以检测Windows字体比例(100%,125%和150%)而不检测DPI? 我需要一些坚实的东西,可以在所有Windows 7操作系统和语言上运行。
VirtualBox
或VmWare
的虚拟机,这样你就可以在上面测试你的应用程序,以尽可能接近真实操作系统的保真度。 - TigranWindows
,安装中文语言包,将区域设置为客户所在地并进行测试。这可能需要一天或更长时间。 - Tigran