winform程序在其他电脑的显示布局乱了
我用的windows10,visual studio 2015,基于.net framework 4,写桌面程序,一个普通的winform窗体,里面有一些常用的诸如label,button,combobox控件,有些用的默认字体,有些我设置了稍大的字体,比如12pt,18pt什么的。
问题是在另外一台电脑上发现,存在控件重叠啊被阻挡啊等等问题,看了网上资料,应该和分辨率、DPI等有关,然后,我试过把窗体的AutoScaleMode为None、Font、Dpi和Inherit,好像都是存在这个问题的,也就是另外一台电脑还是窗体中的显示布局乱了。
我的原始设想,首先,我无所谓分辨率大小,因为我将窗体设置为用户无法调整大小(controlbox为false),而且size足够小,主流显示器分辨率都能足够显示我的窗体(换句话说,过小的显示器分辨率,不在我的考虑支持范围之内)。然后,我希望,不管系统DPI怎么改变,我的程序,在所有系统中运行的行为,就好像是在我的开发机上表现得那样(或者差不多也可以,每个控件我可以稍微留一点余量),不知道是否可以做到?谢谢。
我试过在开发机上调整DPI,比如从100%修改为125%,重启,然后,好像也是正常显示的。有点晕了,到底问题的关键是什么呢?
显示器分辨率(以像数为单位),DPI(Dots Per Inch,不知道Dots在这里就是被解释为Pixels吗), font size(以Pt为单位,这是个物理尺寸单位还是像数单位?),显示器物理尺寸(比如以inch为单位),还有form size(是以像数为单位吗),之间的换算关系到底是什么呢?然后windows有主动帮忙做了哪些自动调整?
然后,可能我才能明白我能如何解决这个问题,谢谢。