Jon*_*art 11 c# .net-4.0 winforms
我正在与WinForms应用程序上的另一个开发人员合作,我们在与自动缩放相关的外观方面遇到了很大问题.
我的系统(索尼VAIO)在此菜单上默认为125%:
据我所知,125%将DPI设置为120,默认字体大小(菜单等)设置为11pt.在另一个开发人员的系统上,他的默认值为100%,即96 dpi和9pt字体.我不确定,但我认为只有DPI才是让我们感到悲痛的原因.
问题表现在文本大小错误,要么掩盖其他控件,要么过于分散(取决于最后谁在设计师中打开).据我所知,所有ContainerControl
s都设置为AutoScaleMode.Inherit
,顶级表单是AutoScaleMode.Dpi
.这是大多数人使用的吗?
我的一个应用程序遇到了同样的问题。答案是将其移至 WPF。当我仍然使用 WinForms 时,我带来的解决方案是拥有 2 个可执行文件。一个在 96DPI 下开发,另一个在 120DPI 下开发。这是双重努力,但我尝试过任何布局配置都没有成功。如果我的控件在 96DPI 上看起来不错,那么当切换到 120DPI 时,它们就在窗口的应用程序之外。反之亦然。
WPF 是解决这个烦人问题的唯一方法。