Postupy: Vytvoření textu s proměnlivou velikostí v ovládacím prvku ComboBox
Tento příklad ukazuje vlastní kresbu textu v ovládacím prvku ComboBox. Když položka splňuje určitá kritéria, je nakreslená větším písmem a červeně.
Příklad
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
Kompilace kódu
Tento příklad vyžaduje:
Formulář systému Windows.
Ovládací prvek ComboBox pojmenovaný
ListBox1
se třemi položkami ve vlastnosti Items. V tomto příkladu jsou tři položky pojmenovány"One", Two", and Three"
. Vlastnost DrawMode objektuComboBox1
musí být nastavena na OwnerDrawVariable.Odkazy na obory názvů System.Windows.Forms a System.Drawing.
Viz také
- DrawItem
- DrawItemEventArgs
- MeasureItem
- ovládací prvky s Built-In Owner-Drawing podporou
- ovládací prvek ListBox
- ovládací prvek ComboBox
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
.NET Desktop feedback