我在 2008 年开发了一个从 .NET 1.1 转换为 3.5 的项目。
如果我在 Windows 7 上打开项目,它会将所有内容的大小转换为 120dpi 大小。如果我然后以 96 dpi 打开它,它会变回来。有什么方法可以让我开发使其看起来都不错,并且如果在具有不同 DPI 的系统上打开 Visual Studio 不会更改大小?
这个问题在这里可能更好地表述/复制: 视觉工作室设计师 dpi 设置
或在这里: Visual Studio 和 DPI 问题
要明确我想要做的是防止控件在被具有不同 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 设计器中编辑表单,我只是想弄清楚我需要做什么才能避免出现可怕的设计回归。