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