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";

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0