The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Custom Drawing User Control Sample 

Download sample

This sample demonstrates how to create and use custom-drawn user controls.

Security noteSecurity Note

This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended.

To open the sample file in Solution Explorer

  1. Click Download Sample.

    The File Download message box appears.

  2. Click Open, and on the left column of the zip folder window, click Extract all files.

    The Extraction Wizard opens.

  3. Click Next. You can change the directory that the files will be extracted to, and then click Next again.

  4. Make sure that the Show extracted files check box is selected, and click Finish.

  5. Double-click the sample's .sln file.

    The sample solution is displayed in Solution Explorer. You might get a security warning that says the solution location is not trusted. Click OK to continue.

To run this sample

  • Press F5.


This sample demonstrates how to create custom-drawn user controls, use them on a form, have the control respond to events, and define properties for use in the designer. The controls that are created are score-keeping controls. One is a digital scoreboard which displays a number in a digital format. The other is a beaded scoreboard which slides beads back and forth to track a score. Both respond to various events and have numerous properties available at design time.

  • Custom Drawing   Both custom controls in this sample demonstrate how to inherit from the UserControl class and override OnPaint. A custom-drawn user control inherits from UserControl. The custom drawing occurs by overriding the OnPaint method of the control. The OnPaint method provides the PaintEventArgs argument from which the clip rectangle (Rectangle) and the graphics object (Graphics) are obtained.

  • Custom Control Events   Custom controls can respond to the events that a normal control would respond to. This is done by overriding the event handler method in the UserControl class. Both custom controls in this sample demonstrate how to respond to various events such as MouseUp and Click.

  • Properties   It is often desirable to create properties for a control that can be edited at design time using Visual Studio. Both custom controls in this sample show how to create Public properties that will appear in the Properties window in Visual Studio.

See Also

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft