ComponentOne DynamicHelp for WinForms
Mapping to Control Parts or Custom Controls
Using DynamicHelp for WinForms > Advanced Features > Mapping to Control Parts or Custom Controls

Mapping to Control Parts or Custom Controls

C1DynamicHelp allows you to map a help topic to any control derived from the System.Windows.Forms.Control class. In most cases it will be enough, but sometimes you may want to map a topic not to a control itself but to some part of it or map a topic to a custom control which is not derived from the System.Windows.Forms.Control. We will refer to these parts of controls and the custom controls as UI elements. To inform the C1DynamicHelp control how to handle UI elements, you will need to create your own class derived from the UIElementResolver class and set it as the Resolver property.

You will need to create a class derived from the UIElementResolver only if you are using custom controls that cannot be handled by the C1DynamicHelp control automatically and then only if you need to associate help topics with parts (UI elements) of those controls, not with the controls themselves.

You have no need to create objects of UIElementResolver type, it is sufficient to define a class derived from UIElementResolver and override its virtual methods. These overridden methods must provide necessary information about UI elements inside custom controls used in your application: methods to find UI elements inside a control by name, coordinates, etc., and other methods necessary for associating dynamic help to UI elements inside a control.

C1DynamicHelp automatically handles most popular, standard controls. For example, it allows mapping a topic to all standard .Net controls and to their parts. So, for example, you can associate a help topic to a separate node of the standard TreeView control or to a separate ListViewItem of the ListView control; that you can do without creating your own UIElementResolver class.

For more details see: