Both classes and components are units of reusable code. To author a component, you start with a class. A class becomes a component when it conforms to a standard for component interaction. This standard is provided through the IComponent interface. Any class that implements the IComponent interface is a component. For details about interfaces, see Interfaces (C# Programming Guide) and Interfaces (Visual Basic). Such standards allow developers to plug components together quickly to create larger programs. The common language specification (CLS) describes the way components authored for the common language runtime can interact. For details, see Language Independence and Language-Independent Components
The .NET Framework provides the IComponent interface and the Component base class to make it easy to author components that work well in the design environment, and UserControl and Control classes that make it easy to author visual components.
In This Section
- Component Class Characteristics 
 Introduces class attributes and what they mean for a component class.
- Initialization and Termination of Components 
 Explains where to write the code to initialize your component, dispose of system resources, and destroy your component.
- Component Instancing Changes in Visual Basic 
 Describes differences in component creation between earlier and later versions of Visual Basic.
Related Sections
- Components and Containers 
 Describes the logical relationship between components and containers.
- Component Authoring 
 Lists topics about creating your own components.
- Extending Design-Time Support 
 Describes how to implement design-time support for controls and components.
| Topic | Location | 
|---|---|
| Component Authoring Walkthroughs | Windows Forms Custom Controls | 
| Component Authoring Walkthroughs | Windows Forms Custom Controls | 
| Component Authoring Walkthroughs | Windows Forms Custom Controls |