This documentation is archived and is not being maintained.

Developing Windows Forms Controls

Windows Forms controls are reusable components that encapsulate user interface functionality and are used in client-side Windows 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
Highlights the essential elements of using controls in Windows Forms applications.
Windows Forms Component Hierarchy
Shows the class hierarchy of controls and components in the System.Windows.Forms namespace.
Windows Forms Control Development Basics
Discusses the first steps in developing a Windows Forms control.
Properties in Windows Forms Controls
Shows how to add to properties to Windows Forms controls.
Events in Windows Forms Controls
Explains how to handle and define events in Windows Forms controls.
Rendering a Windows Forms Control
Shows how to program the logic that displays a control.
Multithreaded Windows Forms Control Sample
Shows how to implement a multithreaded control.
Developing a Composite Windows Forms Control
Provides an overview of implementing a control that combines other existing controls.
Windows Forms Control Sample
Contains a custom control sample that illustrates the concepts explained in this section. The sample control defines properties, overrides methods, raises an event, and does its own rendering.

Related Sections

Design-Time Attributes for Components
Lists metadata attributes to apply to components and controls so that they are displayed correctly at design time in visual designers.
Enhancing Design-Time Support
Describes how to implement classes such as editors and designers that provide design-time support.
Licensing Components and Controls
Describes how to implement licensing in your control or component.