This documentation is archived and is not being maintained.

TextBoxRenderer.DrawTextBox Method (Graphics, Rectangle, String, Font, Rectangle, TextFormatFlags, TextBoxState)

Draws a text box control in the specified state and bounds, and with the specified text, text bounds, and text formatting.

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

public static void DrawTextBox(
	Graphics g,
	Rectangle bounds,
	string textBoxText,
	Font font,
	Rectangle textBounds,
	TextFormatFlags flags,
	TextBoxState state


Type: System.Drawing.Graphics
The Graphics used to draw the text box.
Type: System.Drawing.Rectangle
The Rectangle that specifies the bounds of the text box.
Type: System.String
The String to draw in the text box.
Type: System.Drawing.Font
The Font to apply to textBoxText.
Type: System.Drawing.Rectangle
The Rectangle that specifies the bounds of textBoxText.
Type: System.Windows.Forms.TextFormatFlags
A bitwise combination of the TextFormatFlags values.
Type: System.Windows.Forms.VisualStyles.TextBoxState
One of the TextBoxState values that specifies the visual state of the text box.


The operating system does not support visual styles.


Visual styles are disabled by the user in the operating system.


Visual styles are not applied to the client area of application windows.

Before calling this method, you should verify that the IsSupported property returns true.

The following code example demonstrates how to use the DrawTextBox(Graphics, Rectangle, String, Font, Rectangle, TextFormatFlags, TextBoxState) method in a custom control's OnPaint method to draw a text box. This code example is part of a larger example provided for the TextBoxRenderer class.

// Use DrawText with the current TextFormatFlags.
protected override void OnPaint(PaintEventArgs e)

    if (TextBoxRenderer.IsSupported)
        TextBoxRenderer.DrawTextBox(e.Graphics, textBorder, this.Text,
            this.Font, textRectangle, textFlags, TextBoxState.Normal);

        this.Parent.Text = "CustomTextBox Enabled";
        this.Parent.Text = "CustomTextBox Disabled";

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.