WinForm程序, 同样的程序,在同样的分辩率下,同样的XP系统,有一台机器却出现变形的情况。所以的窗体明显都被拉长拉宽了,背景图更是乱的一踏糊涂,有的窗体都不能完全显示。试了一下所有的.net程序在那台系统上运行都变形,这个问题很奇怪,到底是什么属性设置导致的。
原因:不知道为什么,那台机器运行的窗体上的字体居然都是微软雅黑,可能是安装什么软件时默认字体被修改了,而微软雅黑同字号要比宋体大,窗体就自动缩放了。窗体的AutoScaleMode属性默认就是根据字体缩放的,结果搞的界面惨不忍睹,解决方法,构造函数里加一句:this.Font = new Font("宋体", 9); 就行了,当然可以把系统的默认字体改成“宋体”这样更保险。
本文探讨了一种WinForm程序在特定计算机上发生界面变形的现象,分析发现原因是该计算机上默认字体被修改为更大的微软雅黑,导致窗体自动缩放。通过将窗体字体设置回宋体或更改系统默认字体为宋体来解决此问题。
1663

被折叠的 条评论
为什么被折叠?



