Esta documentación está archivada y no tiene mantenimiento.

Cómo: Crear texto de tamaño variable en un control ComboBox

En este ejemplo se muestra el dibujo personalizado de texto en un control ComboBox. Cuando un elemento cumple un determinado criterio, se dibuja en una fuente mayor y se vuelve color rojo.

Ejemplo

Private Sub ComboBox1_MeasureItem(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MeasureItemEventArgs) Handles ComboBox1.MeasureItem
    Dim bFont As New Font("Arial", 8, FontStyle.Bold)
    Dim lFont As New Font("Arial", 12, FontStyle.Bold)
    Dim siText As SizeF

    If ComboBox1.Items().Item(e.Index) = "Two" Then
        siText = e.Graphics.MeasureString(ComboBox1.Items().Item(e.Index), _
lFont)
    Else
        siText = e.Graphics.MeasureString(ComboBox1.Items().Item(e.Index), bFont)
    End If

    e.ItemHeight = siText.Height
    e.ItemWidth = siText.Width
End Sub

Private Sub ComboBox1_DrawItem(ByVal sender As Object, ByVal e As _
System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem
    Dim g As Graphics = e.Graphics
    Dim bFont As New Font("Arial", 8, FontStyle.Bold)
    Dim lFont As New Font("Arial", 12, FontStyle.Bold)

    If ComboBox1.Items().Item(e.Index) = "Two" Then
        g.DrawString(ComboBox1.Items.Item(e.Index), lfont, Brushes.Red, _
e.Bounds.X, e.Bounds.Y)
    Else
        g.DrawString(ComboBox1.Items.Item(e.Index), bFont, Brushes.Black, e.Bounds.X, e.Bounds.Y)
    End If
End Sub

Compilar el código

Para este ejemplo se necesita:

  • Un formulario Windows Forms.

  • Un control ComboBox denominado ListBox1 con tres elementos en la propiedad Items. En este ejemplo, los tres elementos se denominan "One", Two", and Three". La propiedad DrawMode de ComboBox1 se debe establecer en OwnerDrawVariable.

    NotaNota

    Esta técnica también se aplica al control ListBox: puede sustituir ListBox para el ComboBox.

  • Referencias a los espacios de nombres System.Windows.Forms y System.Drawing.

Vea también

Mostrar: