This documentation is archived and is not being maintained.

Custom Designers

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.

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.

Programming with Components

Defines what a component is and provides an overview of .NET Framework programming concepts

Developing 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.