TextRenderer.DrawText Method (IDeviceContext, String, Font, Point, Color, Color)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Draws the specified text at the specified location, using the specified device context, font, color, and back color.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public static void DrawText(
	IDeviceContext dc,
	string text,
	Font font,
	Point pt,
	Color foreColor,
	Color backColor


Type: System.Drawing.IDeviceContext

The device context in which to draw the text.

Type: System.String

The text to draw.

Type: System.Drawing.Font

The Font to apply to the drawn text.

Type: System.Drawing.Point

The Point that represents the upper-left corner of the drawn text.

Type: System.Drawing.Color

The Color to apply to the drawn text.

Type: System.Drawing.Color

The Color to apply to the background area of the drawn text.

Exception Condition

dc is null.

The backColor parameter is applied to the rectangular area containing the drawn text. If font, backcolor or forecolor is null or Color.Empty, respectively; the DrawText method will draw the text in the font or color currently selected in the device context specified by dc. If forecolor is Transparent, the text will not be drawn.

You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter.

The text rendering offered by the TextRenderer class is based on GDI text rendering and is not supported for printing from Windows Forms. Instead, use the DrawString methods of the Graphics class.


The DrawText methods that specify a Point as the upper-left corner of the drawn text do not render correctly on Windows 2000. If your application is intended for use on machines running Windows 2000, you should use one of the DrawText methods that specify a Rectangle for the bounds of the drawn text.

The following code example demonstrates how to use the DrawText method. To run this example, paste the code into a Windows Form and call RenderText3 from the form's Paint event handler, passing e as PaintEventArgs.

private void RenderText3(PaintEventArgs e)
    TextRenderer.DrawText(e.Graphics, "Regular Text", this.Font,
        new Point(10, 10), Color.Red, Color.PowderBlue);

.NET Framework
Available since 2.0
Return to top