Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

BaseListBoxControl.MeasureItem Event

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

Namespace: DevExpress.XtraEditors

Assembly: DevExpress.XtraEditors.v24.2.dll

NuGet Package: DevExpress.Win.Navigation

#Declaration

[DXCategory("Behavior")]
public event MeasureItemEventHandler MeasureItem

#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.

#Example

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