Custom Designers
Caution
This content was written for .NET Framework. If you're using .NET 6 or a later version, use this content with caution. The designer system has changed for Windows Forms and it's important that you review the Designer changes since .NET Framework article.
The .NET Framework provides the ability to provide custom behavior for a type of component while it is in design mode. Designers are classes that provide logic that can adjust the appearance or behavior of a type at design time. All designers implement the IDesigner interface. Designers are associated with a type or type member through a DesignerAttribute. A designer can perform tasks at design time after a component or control with which a designer is associated has been created.
Designers can be built to perform a variety of types of tasks in design mode. Designers can:
Alter and extend the behavior or appearance of components and controls in design mode.
Perform custom initialization for a component in design mode.
Access design-time services and configure and create components within a project.
Add menu items to the shortcut menu of a component.
Adjust the attributes, events, and properties exposed by a component with which the designer is associated.
Designers can serve an important role in assisting with the arrangement and configuration of components, or to enable proper behavior for a component in design mode that otherwise depends on services or interfaces available only at run time.
Some controls may require visual cues in design mode to make configuration easier. For example, a Panel object might not have a visible border at run time. Without a border, the panel is not visible on a form with the same background color. Therefore, the designer for the Panel object draws a dotted-line border around the panel.
The System.ComponentModel.Design namespace provides the basic interfaces that developers can use to build design-time support.
In This Section
Base Designer Classes
Describes classes and interfaces you can use to build a custom design-time user interface (UI).Metadata Filtering
Describes how to modify the set of properties, attributes and events exposed by a component or control at design time.Designer Verbs
Describes how to add menu commands to the shortcut menu for components at design time.How to: Access Design-Time Services
Demonstrates how to acquire and use design-time services.How to: Implement a Designer for a Control
Demonstrates how to implement a designer for an extender provider control.How to: Extend the Appearance and Behavior of Controls in Design Mode
Demonstrates how to create a custom designer that changes the appearance and behavior of a control at design time.How to: Perform Custom Initialization for Controls in Design Mode
Demonstrates how to initialize components and controls as they are created by the design environment.How to: Create and Configure Components in Design Mode
Demonstrates how to create components in the design environment programmatically.How to: Adjust the Attributes, Events, and Properties of a Component in Design Mode
Demonstrates how to modify a component's API at design time.How to: Create a Windows Forms Control That Takes Advantage of Design-Time Features
Demonstrates how to create a custom control and an associated custom designer.
Related Sections
Programming with Components
Defines what a component is and provides an overview of .NET Framework programming conceptsDeveloping Custom Windows Forms Controls with the .NET Framework
Describes how to author custom controls for Windows Forms.Developing Custom ASP.NET Server Controls
Describes how to author custom ASP.NET server controls.