DekGenius.com
[ Team LiB ] Previous Section Next Section

Chapter 13. The System.ComponentModel Namespace

The System.ComponentModel namespace provides many of the classes that support the design-time features of the framework. The key class is Component, which provides a means of encapsulating a class for design-time hosting. IContainer and ISite provide a means to host Component objects and bind them to the design-time environment. Support for custom designers is provided by the System.ComponentModel.Design.IDesigner interface, System.Drawing.Design.UITypeEditor, and custom TypeConverter classes. Figure 13-1 shows many types from this namespace.

There are also a number of classes related to license management.

The designer environment is largely controlled through metadata provided by custom attributes. Classes and properties are adorned with these attributes to indicate how they should appear in the designer host, which custom designers to use, and how they should be serialized. Figure 13-2 shows the attributes in this namespace.

Note that several of the essential classes for the design-time environment can be found in System.ComponentModel.Design, System.Windows.Forms.Design, and System.Drawing.Design.

In addition to the design-time component support, this namespace has become a dumping ground for classes (such as IListSource) that support the data-binding framework, but are not specifically UI related (and hence, are not to be found in the System.Windows.Forms namespace). There are also a couple of refugees from System.Configuration relating to the System.Configuration.Install.Installer framework.

Figure 13-1 shows the delegates and event arguments from this namespace, and Figure 13-1 shows type converters and miscellaneous types.

Figure 13-1. Many types from the System.ComponentModel namespace
figs/winf_1301.gif
Figure 13-2. Attributes from this namespace
figs/winf_1302.gif
Figure 13-3. Delegates and event arguments from the System.ComponentModel namespace
figs/winf_1303.gif
Figure 13-4. Type converters and miscellaneous types from this namespace
figs/winf_1304.gif
    [ Team LiB ] Previous Section Next Section