中心绘制的文本

时间:2011-10-31 11:20:34

标签: vb.net center drawstring

我在VB.net中使用以下方式绘制文本:

gfx.DrawString(_bText, New Font("Tahoma", 5), Brushes.Black, New Point(25, 5))

其中gfx是使用我的控件的图形对象。 x点是正确的,但我需要y作为当前控制的中心(垂直)。有一个简单的方法吗?

3 个答案:

答案 0 :(得分:3)

您需要查看Graphics.MeasureString方法

使用此功能,您可以在提供的上下文中找到文本的高度。然后,您需要找到Y值以开始使用以下内容绘制文本:

(ControlHeight/2) - (TextHeight/2)

答案 1 :(得分:2)

使用带有StringFormat参数的DrawString重载。将其Alignment属性设置为Center。

答案 2 :(得分:1)

TextRenderer有一个VerticalCenter标志:

Dim r As New Rectangle(25, 0, myControl.ClientSize.Width - 25, _
                              myControl.ClientSize.Height)

Using myFont As New Font("Tahoma", 5)
  TextRenderer.DrawText(gfx, _bText, myFont, r, _
                        Color.Black, Color.Empty, _
                        TextFormatFlags.VerticalCenter)
End Using