ListBox.IntegralHeight Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 true
en , 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 false
en .
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 true
la 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.OwnerDrawVariable
en , esta propiedad no tiene ningún efecto.