Compartir vía


ListBox.HorizontalExtent Propiedad

Definición

Obtiene o establece el ancho por el que puede desplazarse la barra de desplazamiento horizontal de un control ListBox.

public:
 property int HorizontalExtent { int get(); void set(int value); };
public int HorizontalExtent { get; set; }
member this.HorizontalExtent : int with get, set
Public Property HorizontalExtent As Integer

Valor de propiedad

Int32

Ancho, en píxeles, por el cual puede desplazarse la barra de desplazamiento horizontal del control. El valor predeterminado es cero.

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 listBox1a 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

Esta propiedad solo notifica un valor útil si la HorizontalScrollbar propiedad está establecida trueen . Si el ancho de ListBox es menor que el valor de esta propiedad, la barra de desplazamiento horizontal desplaza horizontalmente los elementos de .ListBox Si el ancho de ListBox es igual o mayor que este valor, se oculta la barra de desplazamiento horizontal. El valor de esta propiedad no se actualiza dinámicamente mediante .ListBox Esta propiedad es útil cuando se dibujan los elementos de ListBox . Por ejemplo, si el propietario dibuja los elementos de tiene un ancho de ListBox 200 píxeles, pero el ListBox ancho es de 60 píxeles, la HorizontalExtent propiedad tendría que establecerse en 200 para desplazarse por el borde derecho de los elementos en la región visible del control.

Se aplica a

Consulte también