0

我正在使用 .NET C# 开发一个 Windows 窗体应用程序,到目前为止所有相关代码都很好。但是,我遇到了一些 UI 问题。我有这个仪表,我在 UI 中使用它来显示连接速度,但是有一个问题。当我使用 Visual Studio 2010 在工作站上开发应用程序并进行设计,然后继续使用 Visual Studio 2012 在另一个工作站上开发应用程序时,一些工具和小部件(如仪表)似乎不再在 UI 中具有相同的位置。

就像分辨率已更改,但没有。两个工作站上的分辨率均为 1920 x 1080。窗体的窗口大小是固定的,不能更改或最大化。大多数控件在两个工作站上都​​非常适合,但这个仪表不适合。

重要的一个原因是放置仪表的页面背景使用仪表来覆盖背景,因此将其放置在两个工作站上完全相同的位置非常重要。有什么建议为什么会出现这个问题?我不认为问题在于仪表更像是小部件或主窗体的某些设置。

4

2 回答 2

1

检查AutoScaleMode你的财产Form。此属性 ( ) 的默认值AutoScaleMode.Font可以使窗体根据用户的系统字体大小调整其大小和子控件的位置。如果您将此属性更改为,AutoScaleMode.None则表单将不会尝试自行调整大小。但是,如果您在应用程序中执行任何 GDI+ 绘图,则需要确保所有绘图调用都是独立于 DPI 的。另请注意,更改此设置可能会使视力不佳的用户(或小显示器)难以看到您的应用程序。

于 2013-05-01T17:01:40.230 回答
0

问题是两个工作站没有完全相同的 DPI 设置。将它们都更改为相同的值确实解决了问题。

于 2013-05-01T16:59:02.183 回答