我有一个从.NET 1.1转换到3.5的项目,它是在2008年开发的。
如果我在Windows 7上打开这个项目,它会将所有东西的大小转换为120dpi的尺寸。如果我再用96dpi打开它,它就会变回去。有没有办法使我开发的内容在两种情况下都看起来很好,而且不会被Visual Studio更改大小,如果在不同DPI设置的系统上打开?
这个问题可能更好地表述/重复在这里: visual studio designer dpi setting
或者在这里: Visual Studio and DPI issue
要清楚我想做什么,就是防止控件在被多个具有不同DPI设置的开发人员使用时在设计器中被重新调整大小。在我注意到这个问题的所有情况中,我一直在使用.NET 1或.NET 2项目升级到最初使用Visual Studio 2008,现在是Visual Studio 2010。
更新(如果有人想与@Ben竞争额外积分):我有一个正确调整大小的窗体,但窗口的大小会以编程方式更改。因为设计器不知道尺寸,所以如果使用不同DPI的开发人员触摸表单,窗口会调整大小不正确。有没有一种方法可以解决这个问题,除了回到不在运行时缩放UI之外?
例如:我声明了两个窗口大小,如果开发人员在设计时使用120 dpi,则可以正常工作:
private static Size smallSize = new Size(960, 500);
private static Size largeSize = new Size(960, 615);
我只是试图理解,如果有人在96dpi的设计师中编辑表单,我需要做什么才能避免可怕的设计回归。