拉丝上的文字未居中vb.net

拉丝上的文字未居中vb.net,vb.net,text,graphics,gdi+,centering,Vb.net,Text,Graphics,Gdi+,Centering,此文本不会以控件为中心。 在寻找了一点之后,我没有发现任何对我有帮助的东西 e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Color.FromArgb(Me.ForeColor.R, Me.ForeColor.G, Me.ForeColor.B)), New PointF(Me.Size.Width / 2, Me.Size.Height / 2)) 改为画一个矩形(Me.ClientRectangle),并使用将字符串置于绘图矩

此文本不会以控件为中心。 在寻找了一点之后,我没有发现任何对我有帮助的东西

e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Color.FromArgb(Me.ForeColor.R, Me.ForeColor.G, Me.ForeColor.B)), New PointF(Me.Size.Width / 2, Me.Size.Height / 2))

改为画一个矩形(
Me.ClientRectangle
),并使用将字符串置于绘图矩形的中心。您能为问题提供更多上下文吗?这是什么样的控制?
e.Graphics
对象是否来自控件的
PaintEventArgs
?正如@JQSOFT提到的,您需要指定一个区域,而不是一个点,以让Graphics方法正确地确定字符串布局。在可能的情况下,使用
TextRenderer.DrawText()
可能会获得更好的结果。