ButtonRenderer.DrawParentBackground Method (Graphics, Rectangle, Control)


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 background of a control's parent in the specified area.

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

public static void DrawParentBackground(
	Graphics g,
	Rectangle bounds,
	Control childControl


Type: System.Drawing.Graphics

The Graphics used to draw the background of the parent of childControl.

Type: System.Drawing.Rectangle

The Rectangle in which to draw the parent control's background. This rectangle should be inside the child control’s bounds.

Type: System.Windows.Forms.Control

The control whose parent's background will be drawn.

The following code example uses the DrawParentBackground method to paint over an area of a custom control. This code example is part of a larger example provided for the ButtonRenderer class.

// Draw the large or small button, depending on the current state.
protected override void OnPaint(PaintEventArgs e)

    // Draw the smaller pressed button image
    if (state == PushButtonState.Pressed)
        // Set the background color to the parent if visual styles  
        // are disabled, because DrawParentBackground will only paint  
        // over the control background if visual styles are enabled.
        this.BackColor = Application.RenderWithVisualStyles ?
            Color.Azure : this.Parent.BackColor;

        // If you comment out the call to DrawParentBackground, 
        // the background of the control will still be visible 
        // outside the pressed button, if visual styles are enabled.
            ClientRectangle, this);
        ButtonRenderer.DrawButton(e.Graphics, ClickRectangle,
            this.Text, this.Font, true, state);

    // Draw the bigger unpressed button image.
        ButtonRenderer.DrawButton(e.Graphics, ClientRectangle,
            this.Text, this.Font, false, state);

.NET Framework
Available since 2.0
Return to top