如何:用 GDI 绘制文本

通过 TextRenderer 类中的 DrawText 方法,可以访问在窗体或控件上绘制文本的 GDI 功能。 与 GDI+ 相比,GDI 文本呈现通常性能更佳、文本测量更为准确。

注意

TextRenderer 类的 DrawText 方法不支持打印。 打印时,请始终使用 Graphics 类的 DrawString 方法。

示例

下面的代码示例演示如何使用 DrawText 方法在矩形内的多行上绘制文本。

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);
}
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

若要使用 TextRenderer 类呈现文本,需要 IDeviceContext(例如 GraphicsFont)、绘制文本的位置以及应绘制文本的颜色。 (可选)可以使用 TextFormatFlags 枚举来指定文本格式。

有关获取 Graphics 的详细信息,请参阅如何:创建用于绘制的图形对象。 有关构造 Font 的详细信息,请参阅如何:构造字体系列和字体

编译代码

前面的代码示例是为与 Windows 窗体一起使用而设计的,它需要 PaintEventArgse,这是 PaintEventHandler 的一个参数。

另请参阅