Condividi tramite


Procedura: creare testo di dimensioni variabili in un controllo ComboBox

Aggiornamento: novembre 2007

In questo esempio viene illustrato il disegno personalizzato di testo in un controllo ComboBox. Quando una voce soddisfa un determinato criterio, viene disegnata con tipi di carattere più grandi e visualizzata in rosso.

Esempio

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

Compilazione del codice

L'esempio presenta i seguenti requisiti:

Vedere anche

Concetti

Controlli con supporto incorporato per la creazione da parte del proprietario

Riferimenti

DrawItem

DrawItemEventArgs

MeasureItem

Altre risorse

Controllo ListBox (Windows Form)

Controllo ComboBox (Windows Form)