如何:用 GDI 绘制文本
使用 TextRenderer 类中的 DrawText 方法,可以访问用于在窗体或控件上绘制文本的 GDI 功能。 GDI 文本呈现通常提供比 GDI+ 更好的性能和更精确的文本测量。
提示
不支持 TextRenderer 类的 DrawText 方法进行打印。 在打印时,总是使用 Graphics 类的 DrawString 方法。
示例
下面的代码示例演示如何使用 DrawText 方法在矩形内以多行形式绘制文本。
Private Sub RenderText6(ByVal e As PaintEventArgs)
Dim flags As TextFormatFlags = TextFormatFlags.Bottom Or _
TextFormatFlags.EndEllipsis
TextRenderer.DrawText(e.Graphics, _
"This is some text that will be clipped at the end.", _
Me.Font, New Rectangle(10, 10, 100, 50), SystemColors.ControlText, flags)
End Sub
private void RenderText6(PaintEventArgs e)
{
TextFormatFlags flags = TextFormatFlags.Bottom | TextFormatFlags.EndEllipsis;
TextRenderer.DrawText(e.Graphics, "This is some text that will be clipped at the end.", this.Font,
new Rectangle(10, 10, 100, 50), SystemColors.ControlText, flags);
}
若要用 TextRenderer 类呈现文本,需要 IDeviceContext(如 Graphics 和 Font)、绘制文本的位置和应该用于绘制文本的颜色。 还可以使用 TextFormatFlags 枚举指定文本格式设置。
有关如何获取 Graphics 的更多信息,请参见 如何:创建用于绘制的 Graphics 对象。 有关如何构造 Font 的更多信息,请参见 如何:构造字体系列和字体。
编译代码
前面的代码示例旨在用于 Windows 窗体,它需要 PaintEventHandler 的参数 PaintEventArgs e。