BaseListBoxControl.MeasureItem Event

Provides the ability to change an individual item's height.

Namespace: DevExpress.XtraEditors

Assembly: DevExpress.XtraEditors.v20.1.dll

Declaration

[DXCategory("Behavior")]
public event MeasureItemEventHandler MeasureItem
<DXCategory("Behavior")>
Public Event MeasureItem As MeasureItemEventHandler

Event Data

The MeasureItem event's data class is MeasureItemEventArgs. The following properties provide information specific to this event:

Property Description
Graphics Gets the Graphics object to measure against.
Index Gets the index of the item for which the height and width is needed.
ItemHeight Gets or sets the height of the item specified by the Index.
ItemWidth Gets or sets the width of the item specified by the Index.

Remarks

Handle the MeasureItem event when it is necessary to change height of individual items displayed within the list box control. Note that this event fires before the item is drawn in the BaseListBoxControl.DrawItem event. Thus, you can write an event handler for the MeasureItem event to specify the heights for the items that you are going to draw in your event handler for the BaseListBoxControl.DrawItem event.

Examples

The following example shows how to set a custom height for specific items in a ListBoxControl by handling the BaseListBoxControl.MeasureItem event.

In this example, if a specific item contains a NewLine character ("\r\n" in C#), its height is doubled to fully display the item's text.

ListBoxControl.MeasureItem_Ex

using DevExpress.XtraEditors;

private void listBoxControl1_MeasureItem(object sender, MeasureItemEventArgs e) {
    ListBoxControl lb = sender as ListBoxControl;
    string itemValue = (string)lb.Items[e.Index];
    if (itemValue.Contains("\r\n"))
        e.ItemHeight = e.ItemHeight * 2;            
}
See Also