ListBox.IntegralHeight Propiedad

Definición

Obtiene o establece un valor que indica si el control debe cambiar de tamaño para evitar que se muestre solo una parte de los elementos.

public:
 property bool IntegralHeight { bool get(); void set(bool value); };
public bool IntegralHeight { get; set; }
member this.IntegralHeight : bool with get, set
Public Property IntegralHeight As Boolean

Valor de propiedad

Es true si el control cambia de tamaño para no mostrar los elementos parcialmente; en caso contrario, es false. De manera predeterminada, es true.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar las HorizontalScrollbar propiedades y HorizontalExtent para mostrar una barra de desplazamiento horizontal que muestra todo el texto del elemento en el ListBox control. En el ejemplo también se usa la IntegralHeight propiedad para asegurarse de que los elementos no se muestran parcialmente debido al tamaño del ListBox control. En este ejemplo se requiere que se haya agregado un ListBox control denominado listBox1, a un formulario.

private:
   void DisplayHScroll()
   {
      // Make sure no items are displayed partially.
      listBox1->IntegralHeight = true;

      // Add items that are wide to the ListBox.
      for ( int x = 0; x < 10; x++ )
      {
         listBox1->Items->Add( String::Format( "Item {0} is a very large value that requires scroll bars", 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.
      Graphics^ g = listBox1->CreateGraphics();

      // Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
      int hzSize = (int)g->MeasureString( dynamic_cast<String^>(listBox1->Items[ listBox1->Items->Count - 1 ]), listBox1->Font ).Width;

      // Set the HorizontalExtent property.
      listBox1->HorizontalExtent = hzSize;
   }
private void DisplayHScroll()
{
   // Make sure no items are displayed partially.
   listBox1.IntegralHeight = true;

   // Add items that are wide to the ListBox.
   for (int x = 0; x < 10; x++)
   {
      listBox1.Items.Add("Item  " + x.ToString() + " is a very large value that requires scroll bars");
   }

   // 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.
   Graphics g = listBox1.CreateGraphics();

   // Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
   int hzSize = (int) g.MeasureString(listBox1.Items[listBox1.Items.Count -1].ToString(),listBox1.Font).Width;
   // Set the HorizontalExtent property.
   listBox1.HorizontalExtent = hzSize;
}
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

Comentarios

Cuando esta propiedad se establece trueen , el control cambia automáticamente el tamaño para asegurarse de que un elemento no se muestra parcialmente. Si desea mantener el tamaño original de en ListBox función de los requisitos de espacio del formulario, establezca esta propiedad falseen .

De forma predeterminada, los ListBox tamaños y CheckedListBox son de modo que solo muestran elementos completos. Si desea que o ListBox rellene completamente un área acoplada, establezca en IntegralHeightfalse.CheckedListBox Esto hace que el control rellene completamente el área, pero el último elemento no se muestra completamente.

Si no ListBox contiene ningún elemento, esta propiedad no tiene ningún efecto.

Nota

El alto entero se basa en el alto de ListBox, en lugar del alto del área de cliente. Como resultado, cuando se establece truela IntegralHeight propiedad , los elementos todavía se pueden mostrar parcialmente si se muestran las barras de desplazamiento.

Nota

Si la DrawMode propiedad se establece DrawMode.OwnerDrawVariableen , esta propiedad no tiene ningún efecto.

Se aplica a

Consulte también