【问题标题】:Label and TextBox: same font looks different标签和文本框:相同的字体看起来不同
【发布时间】:2014-09-11 21:11:44
【问题描述】:

我在 Windows 窗体、C#、.NET 中有 LabelTextBox

我可以看到一个奇怪的行为:我将相同的字体设置为LabelTextBox,并且相同的单词在那里看起来不同:

字体是 Tahoma,10.25pt。 如您所见,顶部是Label,与TextBox 相比,它看起来像是粗体。 为什么会这样?我可以让我的TextBox 和 Label 用这种字体看起来一样吗?

【问题讨论】:

  • 无论是这个,还是将 TextBox 设置为粗体,都可能与您将得到的一样接近。
  • 浮动精度可能导致文本框缩小尺寸而标签放大了。使用整数值时是否会发生同样的效果?
  • 整数字体大小LabelTextBox 看起来一样。任何想法,如何让TextBox 吃 10.25pt 字体大小?
  • 我希望我可以切换到 WPF :) 。如果没办法只能选择10pt,谢谢
  • 不用担心,我已将最后一条评论移至答案中,因为将来用户可能更容易发现这些信息。

标签: c# .net winforms fonts


【解决方案1】:

这是由浮动精度引起的,看起来标签选择向上舍入,而文本框向下舍入到最接近的整数(整数)。

WPF 有可能解决这个问题,因为它使用 DirectX 来处理其绘图。由于 winforms 使用 GDI,因此在绘图中对浮动精度的支持并不多。

使用10pt 可能会更好,因为这与10.25 之间并没有太大的不同...无论如何您都在为您的文本框使用它,对吧? :)

【讨论】:

  • 这是一个可能的解决方案。请参阅我上面的评论。当然,最好使用 10.25pt,因为我所有的 UI 都使用这种字体,但切换到 10pt 似乎是唯一的方法。
  • @ArtemKachanovskyi - 您可能已将其设置为这样,但在大多数情况下,此答案将适用于您的所有控件,它们将各自决定采用哪种方式舍入到最接近的整数。
猜你喜欢
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多