6

当我在我的机器上构建我的表单时,它看起来很好,但是当它在另一台计算机上编译时,表单本身的大小是错误的。标签四处移动,事物不再正确对齐。

我如何保证在任何计算机上一切看起来都一样?

我尝试设置AutoScaleMode为无,它有所帮助,但随后标签部分位于相应的文本框下方。

4

3 回答 3

5

字体或 DPI 不同。

而且我从来没有真正找到一种说法AutoScaleMode = (most appropriate of font or dpi)

但是尝试AutoScaleMode = DPIAutoScaleMode = Font其中之一应该工作。

我们从来没有找到一种可靠的方法来处理这个问题。我们的工作场所曾经在所有工作站上强制执行 DPI,但后来发生了变化。处理它的最佳方法是确保使用 FlowLayoutPanel 或 TableLayoutPanels 布局控件,而不是控件的绝对定位。

于 2012-11-19T15:10:10.010 回答
0

我最近遇到了这个问题,结果证明以 125% 或中等设置编译会使二进制文件对 100% 或 150% 的更改免疫。您仍然需要将 AutoScaleMode 设置为 None。

于 2013-08-16T16:21:16.803 回答
0

即使话题结束了,我的两分钱,因为我遇到了同样的问题,表单有不同的大小(在我的情况下更大),但修复后的控件相同。我只是通过给原始表单提供比控件更小的尺寸来解决它,并让它自动增长。

我还应用了这篇文章的指导方针(如何编写自动缩放到系统字体和 dpi 设置的 WinForms 代码?),但这并没有解决我的问题。

于 2016-02-25T08:05:06.970 回答