当我在我的机器上构建我的表单时,它看起来很好,但是当它在另一台计算机上编译时,表单本身的大小是错误的。标签四处移动,事物不再正确对齐。
我如何保证在任何计算机上一切看起来都一样?
我尝试设置AutoScaleMode
为无,它有所帮助,但随后标签部分位于相应的文本框下方。
当我在我的机器上构建我的表单时,它看起来很好,但是当它在另一台计算机上编译时,表单本身的大小是错误的。标签四处移动,事物不再正确对齐。
我如何保证在任何计算机上一切看起来都一样?
我尝试设置AutoScaleMode
为无,它有所帮助,但随后标签部分位于相应的文本框下方。
字体或 DPI 不同。
而且我从来没有真正找到一种说法AutoScaleMode = (most appropriate of font or dpi)
。
但是尝试AutoScaleMode = DPI
和AutoScaleMode = Font
。其中之一应该工作。
我们从来没有找到一种可靠的方法来处理这个问题。我们的工作场所曾经在所有工作站上强制执行 DPI,但后来发生了变化。处理它的最佳方法是确保使用 FlowLayoutPanel 或 TableLayoutPanels 布局控件,而不是控件的绝对定位。
我最近遇到了这个问题,结果证明以 125% 或中等设置编译会使二进制文件对 100% 或 150% 的更改免疫。您仍然需要将 AutoScaleMode 设置为 None。
即使话题结束了,我的两分钱,因为我遇到了同样的问题,表单有不同的大小(在我的情况下更大),但修复后的控件相同。我只是通过给原始表单提供比控件更小的尺寸来解决它,并让它自动增长。
我还应用了这篇文章的指导方针(如何编写自动缩放到系统字体和 dpi 设置的 WinForms 代码?),但这并没有解决我的问题。