This documentation is archived and is not being maintained.

Custom Control Painting and Rendering

Custom painting of controls is one of the many complicated tasks made easy by the .NET Framework. When authoring a custom control, you have many options regarding your control's graphical appearance. If you are authoring a control that inherits from the Control, you must provide code that allows your control to render its graphical representation. If you are creating a user control by inheriting from the UserControl, or are inheriting from one of the Windows Forms controls, you may override the standard graphical representation and provide your own graphics code. If you want to provide custom rendering for the constituent controls of a UserControl you are authoring, your options become more limited, but still allow a wide range of graphical possibilities for your controls and applications.

Rendering a Windows Forms Control

Shows how to program the logic that displays a control.

User-Drawn Controls

Gives an overview of the steps involved in writing and overriding rendering code for your control.

Constituent Controls

Describes how to implement custom rendering code for constituent controls in your user controls and forms.

How to: Make Your Control Invisible at Run Time

Shows how to use the Visible property to hide and show a control.

How to: Give Your Control a Transparent Background

Shows how to use the SetStyle method to create a background color that is opaque, transparent, or partially transparent.

Rendering Controls with Visual Styles

Shows how to render controls using visual styles in operating systems that support them.


Describes this class and has links to all of its members.


Describes this class and has links to all of its members.


Describes this method.

How to: Create Graphics Objects for Drawing

Introduces GDI+ graphics functionality from a Visual Studio perspective and gives links to more information.

Varieties of Custom Controls

Describes the kinds of custom controls you can author.