ListBox.IntegralHeight Property


Gets or sets a value indicating whether the control should resize to avoid showing partial items.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

Public Property IntegralHeight As Boolean

Property Value

Type: System.Boolean

true if the control resizes so that it does not display partial items; otherwise, false. The default is true.

When this property is set to true, the control automatically resizes to ensure that an item is not partially displayed. If you want to maintain the original size of the ListBox based on the space requirements of your form, set this property to false.

By default, the ListBox and the CheckedListBox sizes are such that they show only whole items. If you want the ListBox or CheckedListBox to completely fill a docked area, set IntegralHeight to false. This causes the control to completely fill the area, but the last item is not fully displayed.

If the ListBox does not contain any items, this property has no effect.


The integral height is based on the height of the ListBox, rather than the client area height. As a result, when the IntegralHeight property is set true, items can still be partially shown if scroll bars are displayed.


If the DrawMode property is set to DrawMode.OwnerDrawVariable, this property has no effect.

The following code example demonstrates how to use the HorizontalScrollbar and HorizontalExtent properties to display a horizontal scroll bar that shows all item text in the ListBox control. The example also uses the IntegralHeight property to ensure that items are not partially displayed due to the size of the ListBox control. This example requires that a ListBox control, named listBox1, has been added to a form.

Private Sub DisplayHScroll()
     ' Make sure no items are displayed partially.
   listBox1.IntegralHeight = True
   Dim x As Integer

   ' Add items that are wide to the ListBox.
   For x = 0 To 10
      listBox1.Items.Add("Item  " + x.ToString() + " is a very large value that requires scroll bars")
   Next x

   ' Display a horizontal scroll bar.
   listBox1.HorizontalScrollbar = True

   ' Create a Graphics object to use when determining the size of the largest item in the ListBox.
   Dim g As System.Drawing.Graphics = listBox1.CreateGraphics()

   ' Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
   Dim hzSize As Integer = g.MeasureString(listBox1.Items(listBox1.Items.Count - 1).ToString(), listBox1.Font).Width
   ' Set the HorizontalExtent property.
   listBox1.HorizontalExtent = hzSize
End Sub

.NET Framework
Available since 1.1
Return to top