【发布时间】:2010-11-02 00:06:48
【问题描述】:
我在 2008 年开发了一个从 .NET 1.1 转换为 3.5 的项目。
如果我在 Windows 7 上打开项目,它会将所有内容的大小转换为 120dpi 大小。如果我然后以 96 dpi 打开它,它会变回来。有什么方法可以让我开发使其在两者中看起来都不错,并且不如果在具有不同 DPI 的系统上打开 Visual Studio 会更改大小?
这个问题在这里可能更好地表述/复制: 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 设计器中编辑表单,我需要做些什么才能避免出现可怕的设计回归。
【问题讨论】:
-
我没有检查它,但在 Windows 7 中有一个适用于应用程序的兼容模式。您可以尝试修改设置。
标签: c# visual-studio visual-studio-2008 dpi