Extender Providers
As we saw in the previous section, it is possible to extend the set of properties that a control presents at design time by writing a custom designer class and implementing one or more of the metadata filtering methods. But what if you want to extend the property set of more than one control? You could write a designer class that is used as the base class for several controls’ designers, but what if you would like to be able to extend the property sets of controls you did not write?
The Forms Designer supports a special kind of component called an
extender provider, which is able to extend the property set of any
control. For example, the built-in ToolTip
component is an extender provider—if you add a
ToolTip component to a form, every control on the
form gets an extra ToolTip property. (Such
properties are known as
extender properties.) We already saw how to use extender providers
in Chapter 3, but we will now see how to implement
such a component.
Extender providers are not controls, because they do not participate
directly in the user interface. In the Forms Designer, they appear in
the component tray rather than on the form itself, as shown in Figure 9-6. So instead of inheriting from the
Control class, an extender provider must derive
directly from the Component class, which is
defined in the System.ComponentModel namespace.
Figure 9-6. An extender provider ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access