右对齐打印文本

本文关键字:文本 打印 右对齐 | 更新日期: 2023-09-27 18:36:03

我现在正在打印收据,但我无法弄清楚如何在图形模式下右对齐文本。我尝试了几种不同的东西,但它们要么效率很低,要么在我的情况下不起作用。有没有办法轻松地将文本右对齐?这是我现在的代码。

using (Font printFont = new Font("Courier New", 9.0f))
        {               
            e.Graphics.DrawString("Subtotal:", printFont, Brushes.Black, leftMargin + 80, HeightToPrint, new StringFormat());
            e.Graphics.DrawString(subtotal.ToString(), printFont, Brushes.Black, leftMargin + 150, HeightToPrint, new StringFormat());
        }

右对齐打印文本

为了能够右对齐文本,您需要指定一个布局矩形:

var format = new StringFormat() { Alignment = StringAlignment.Far };
var rect = new RectangleF( x, y, width, height );
e.Graphics.DrawString( text, font, brush, rect, format );

然后它将在该矩形内对齐字符串。

使用 Graphics.MeasureString 方法获取渲染字符串的长度,并在 rightMargin - measuredStringWidth 处绘制它。