MultiList - Extended ListBox Control
The PureComponents MultiList control extends the ListBox control with some helpful features. It can display the description text and a checkbox for each item. Every item can also contain the image and may be marked with a simple graphic sign - a flag. The bar with flags can be placed in either the left or the right edge of MultiList. At the top of the control the special item is available for use - the Action Item.

MultiList Anatomy
The following picture shows the individual parts of the MultiList control.
![]() |
|
Image
Each MultiList item can contain an image. It is added either from an ImageList (through ImageIndex property) or directly with the Image property. The image can be aligned in the item both left and right. Images can be hidden by resetting the ShowImages property.
Action Item
The Action Item is designed for providing additional information or for running a custom action, for example Switch to simple view or Add new item. It can be used as a button - it provides several events including ActionItemClick. The Action Item can be presented as normal item but it has its own Style. So its appearance can be set independently on other items when necessary. Showing and hiding the Action Item is done by the ShowActionItem property.
Item Text,
Item Description
Every item has its Text and optional Description which is displayed below the text. The text and the description have their individual style so their apearance can be set separately. The left picture shows items with the description, the right picture items without it.
Each MultiList item can have its own style. To reach this the LocalStyle property must be set to true. This property is a member of the MultiListItem class. All the items in the following picture have their own style defined.

Each MultiList item has the divider. This is a horizontal line separating items from each other. The divider can use the different kinds of outline and its color can be changed.
Checkbox
When turning the ShowCheck property on, every MultiList item gets its own check box displayed. It can be on the left or the right side of the item depending on the CheckAlign setting. The CheckingMode property determines how the item is checked and unchecked - the CheckBox option requires the mouse click directly on the box while with the Item option you can click anywhere on the item. ItemChecking and ItemChecked events are fired when changing the value. The check box is drawn with a glass-effect and its appearance can be set in the ListStyle.

Selected Item
The SelectedItem has its own style defined in MultiList. It is possible to choose the color, background fill style and the border. The mouse hover effect can be set by TrackingBackColor and TrackingTransparency properties.
Selecting the item and tracking is shown in the following figure.
MultiList Background
It is possible to set the BackColor and FillStyle of the MultiList. The picture shows the FillStyle options, the values are: Flat, VerticalFading, HorizontalFading, DiagonalBackward, DiagonalForward, VistaFading, VerticalFading2, VerticalFading3.
The drawing the odd and even items with the different style is also supported. It is done by setting the MultiList ShowAlternateItems property to true.
Flags
Each MultiList item can be marked with a simple graphic sign - the Flag. The bar with flags can be placed in either the left or the right edge of MultiList and its style can be set. Each flag can have its Color and Shape defined. The options for the shape are Flag, Exclamation, Point, Diamond, Arrow, ArrowUp, ArrowDown and Custom.



Image
Action Item
Item Text
Item Description
Checkbox
Selected Item
MultiList Background
Flags