2014-09-11 193 views
3

我在Windows窗体,C#,.NET中有LabelTextBox标签和文本框:相同的字体看起来不同

我可以看到一个奇怪的现象:我设置了相同的字体,以LabelTextBox,以及同一个词看起来不同,但有:

Word "_DATEU" looks almost like bold in label

的字体是宋体,10.25pt。 正如您所看到的,顶部是Label,它看起来像是它的粗体风格与TextBox相比。 这是为什么发生?我可以让我的TextBox和Label看起来与这种字体相同吗?

+0

要么这个,或将**文本框**设置为粗体,可能会尽可能接近你会得到。 – jbutler483 2014-09-11 12:58:07

+2

它有可能浮动精度导致文本框缩小尺寸,同时标签已经放大了。使用整数值时是否也会出现同样的效果? – Sayse 2014-09-11 12:59:58

+0

整数字体大小'Label'和'TextBox'看起来一样。任何想法,如何使'TextBox'的字体大小为10.25pt? – 2014-09-11 13:05:59

回答

2

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

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

因为这和10.25之间没有很多不同,所以您最好使用10pt ......您正在为您的文本框使用它吗? :)

+0

这是一个可能的解决方案。看到我上面的评论。当然,使用10.25pt会更好,因为我的所有UI都使用这种字体,但似乎切换到10pt可能是唯一的方法。 – 2014-09-11 13:15:49

+0

@ArtemKachanovskyi - 您可能已经设置了它,但大多数情况下,这个答案适用于您的所有控件,它们将分别决定将哪个方式舍入到最接近的整数。 – Sayse 2014-09-11 13:19:35

相关问题