在C#中居中绘制字符串文本

3
今天我尝试在表单上绘制一个字符串,但需要精确地绘制在中间。我已经寻找了很多函数,但没有看到居中的矩形参数或自动获取的函数。
如果有人能够友好地提供一些函数让文本自动居中,我将不胜感激。我使用的命令是:
 gfx.DrawString(line, printFont, myBrush, leftMargin, YPosition(), new StringFormat());

感谢您的帮助。
1个回答

4
您可以使用传入的StringFormat对象设置参数。
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;      // Horizontal Alignment
stringFormat.LineAlignment = StringAlignment.Center;  // Vertical Alignment

如何对齐绘制的文本


我尝试了这段代码,但是在表单中没有自动获取矩形(Rectangle rect1 = new Rectangle(10, 10, 130, 140);),我需要自动检测表单大小。 - Jonathan Edgardo
是的,如果您首先创建一个矩形并且大小参数没有自动获取,则需要从表单中获取X、Y大小。 - Jonathan Edgardo
1
e.Graphics.DrawString(text1, font1, Brushes.Blue, rect1, stringFormat) Rect1 = 窗体大小,你明白吗? - Jonathan Edgardo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接