---
title: Develop Custom Controls
description: Learn about Windows Form controls. Specifically, you'll learn to combine existing controls, extend existing controls, and author your own custom controls.
ms.date: "03/30/2017"
helpviewer_keywords: 
  - "custom controls [Windows Forms], developing using code"
  - "Control class [Windows Forms], Windows Forms"
ms.assetid: 236cebc0-bd71-4f18-9fd6-5d0e592375df
---
# Developing Custom Windows Forms Controls with the .NET Framework
Windows Forms controls are reusable components that encapsulate user interface functionality and are used in client-side Windows-based applications. Not only does Windows Forms provide many ready-to-use controls, it also provides the infrastructure for developing your own controls. You can combine existing controls, extend existing controls, or author your own custom controls. This section provides background information and samples to help you develop Windows Forms controls.  
  
## In This Section  
 [Overview of Using Controls in Windows Forms](overview-of-using-controls-in-windows-forms.md)  
 Highlights the essential elements of using controls in Windows Forms applications.  
  
 [Varieties of Custom Controls](varieties-of-custom-controls.md)  
 Describes the different kinds of custom controls you can author with the <xref:System.Windows.Forms?displayProperty=nameWithType> namespace.  
  
 [Windows Forms Control Development Basics](windows-forms-control-development-basics.md)  
 Discusses the first steps in developing a Windows Forms control.  
  
 [Properties in Windows Forms Controls](properties-in-windows-forms-controls.md)  
 Shows how to add to properties to Windows Forms controls.  
  
 [Events in Windows Forms Controls](events-in-windows-forms-controls.md)  
 Shows how to handle and define events in Windows Forms controls.  
  
 [Attributes in Windows Forms Controls](attributes-in-windows-forms-controls.md)  
 Describes the attributes you can apply to properties or other members of your custom controls and components.  
  
 [Custom Control Painting and Rendering](custom-control-painting-and-rendering.md)  
 Shows how to customize the appearance of your controls.  
  
 [Layout in Windows Forms Controls](layout-in-windows-forms-controls.md)  
 Shows how to create sophisticated layouts for your controls and forms.  
  
 [Multithreading in Windows Forms Controls](multithreading-in-windows-forms-controls.md)  
 Shows how to implement multithreaded controls.  
  
## Reference  
 <xref:System.Windows.Forms.Control?displayProperty=nameWithType>  
 Describes this class and has links to all of its members.  
  
 <xref:System.Windows.Forms.UserControl?displayProperty=nameWithType>  
 Describes this class and has links to all of its members.  
  
## Related Sections  
 [Design-Time Attributes for Components](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/tk67c2t8(v=vs.120))  
 Lists metadata attributes to apply to components and controls so that they are displayed correctly at design time in visual designers.  
  
 [Extending Design-Time Support](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/37899azc(v=vs.120))  
 Describes how to implement classes such as editors and designers that provide design-time support.  
  
 [How to: License Components and Controls](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/fe8b1eh9(v=vs.120))  
 Describes how to implement licensing in your control or component.  
  
 Also see [Developing Windows Forms Controls at Design Time](developing-windows-forms-controls-at-design-time.md).
