【问题标题】:Control Size increases on Korean OS韩国操作系统上的控件大小增加
【发布时间】:2011-01-18 10:41:29
【问题描述】:

我有一个 Windows 窗体,它有一个指定为固定大小的标签控件。它的 Autosize 值为 true,并且最大尺寸包含与控件宽度相同的宽度值,因此,控件仅在需要时增加其高度。这在英语操作系统上运行良好,但是当它部署在韩语操作系统上时,宽度会增加并超过表单中设置的最大限制。

我玩过 Autoscalemode 的所有值 - 字体、DPI、无、继承,但没有改变任何东西。它可能有什么问题以及我们如何克服这个问题。

【问题讨论】:

  • 韩文的字符高度不是比英文的高吗?你打算切断字符的顶部吗?这会让事情变得难以阅读......
  • 这实际上与字体大小无关,因为它仍然是自动获取的。但是在韩文部署时,size 和 maximum size 属性包含不同的值。例如,我有一个大小为 548、200 的控件,最大宽度设置为 548。但在韩语操作系统中,这更改为 639。我的理解是MaximumSize、MinimumSize 属性是只读的。所以,我的问题是它为什么会这样。
  • 为了更清楚 - 我已将 MaximumSize 值设置为 - (548, 200)。这将转换为 (639,185)

标签: c# winforms internationalization globalization


【解决方案1】:

是的,它增加并且实际上是众所周知的(在某些圈子中)行为。字体的测量方式存在一些问题(可能是测量后备字体而不是您定义的字体)。

我不会将大小设置为固定,而是使用 TableLayoutPanel 作为此控件/表单/其他内容的布局管理器,并允许它实际调整大小。您需要稍微玩一下,但根据我的经验,添加空距离列是有效的(前提是您至少有一个百分比列)。这有点棘手,但我设法通过这种方式修复了类似的缺陷。

【讨论】:

    【解决方案2】:

    我最近遇到了同样的问题,并通过在主顶层面板中以编程方式将默认字体设置为 Sans Serif 来修复它。我的答案的详细信息(对我自己的问题)在这里:

    https://superuser.com/questions/1093919/is-there-such-a-thing-as-korean-microsoft-windows-10-or-is-it-just-regular-win/1119806#1119806

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      • 2017-04-16
      • 2015-07-17
      • 2020-01-16
      • 2016-12-23
      • 2011-05-04
      • 1970-01-01
      相关资源
      最近更新 更多