【发布时间】:2017-05-03 21:20:09
【问题描述】:
我有一个带有文本的字符串,我想以特定字符位置为中心输出它。
有没有办法使用例如标签来做到这一点?
或者我应该更好地考虑使用 GDI+ 绘制一个字符串,测量每个字符的长度,然后在我需要的地方手动绘制它,居中?
例如,为了更清楚:
字符串:“Lorem Ipsum”,位置:2。
因此,我需要以这样的方式显示字符串,即字符“r”将位于任何显示框(标签等)的中间。
【问题讨论】:
-
您可以结合 GDI+(印刷)测量这两个部分来找到相对宽度。然后相应地定位标签..
-
@TaW,是的,我在提到 GDI+ 的时候也在考虑这个问题,但我对 GDI+ 不太擅长,想知道是否有更简单的解决方案。
-
如果你想像这样任意对齐,没有比手动绘制更简单的解决方案了。当然,这也需要您对其进行测量。如果它是
Label控件,它实际上是用 GDI 绘制的,而不是 GDI+,你应该坚持下去。TextRenderer.DrawText用于输出,TextRenderer.MeasureText用于测量。 -
@CodyGray,谢谢,看来我得这么做了。