A designer controls the behavior of a component at design time. The example below illustrates why a component’s appearance may need to be modified at design time.
In NGWS frameworks, a designer is simply an object that is attached to a component at design time. The designer host allows the designer object to change the behavior of the component during the design process. In the past, support for this type of special case logic was built into the form designer. It was the form designer, not the object, that was responsible for the design capabilities. In the ActiveX world, different tools offered their own form designers, with different user interfaces and capabilities. Because a product's fixed feature set cannot account for all controls, there was a limited level of custom design-time support for controls in the ActiveX world.
The design-time support for components in the NGWS frameworks, on the other hand, comes not from a tool such as Visual Studio, but from the components themselves. Tools such as Visual Studio 7.0 provide a set of base services for designers to use, but support for designers is a core part of the platform. The System.ComponentModel.Design namespace provides interfaces and base classes for design time support. The base functionality can be extended to provide varying levels of designer support.
The following topics are discussed in this section.