如何:在指定位置绘制文本
更新:2007 年 11 月
执行自定义绘制时,您可以在从指定点开始的一个水平行上绘制文本。可以使用 Graphics 类的接受 Point 或 PointF 参数的 DrawString 重载方法,以此种方式绘制文本。DrawString 方法还需要 Brush 和 Font
还可以使用 TextRenderer 的接受 Point 的 DrawText 重载方法。DrawText 也需要 Color 和 Font。
下图显示使用 DrawString 重载方法时在指定点上绘制的文本的输出。
用 GDI+ 绘制一行文本
使用 DrawString 方法,使用时传入您需要的文本、Point 或 PointF、Font 以及 Brush。
Dim font1 As New Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel) Try Dim pointF1 As New PointF(30, 10) e.Graphics.DrawString("Hello", font1, Brushes.Blue, pointF1) Finally font1.Dispose() End Try
using (Font font1 = new Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel)){ PointF pointF1 = new PointF(30, 10); e.Graphics.DrawString("Hello", font1, Brushes.Blue, pointF1); }
用 GDI 绘制一行文本
使用 DrawText 方法,使用时传入所需的文本、Point、Font 以及 Color。
Dim font As New Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel) Try Dim point1 As New Point(30, 10) TextRenderer.DrawText(e.Graphics, "Hello", font, point1, Color.Blue) Finally font.Dispose() End Try
using (Font font = new Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel)) { Point point1 = new Point(30, 10); TextRenderer.DrawText(e.Graphics, "Hello", font, point1, Color.Blue); }
编译代码
前面的示例需要:
- PaintEventArgs e,它是 PaintEventHandler 的一个参数。