다음을 통해 공유


방법: ComboBox 컨트롤에서 가변 크기 텍스트 만들기

이 예제에서는 ComboBox 컨트롤에서 사용자 지정으로 텍스트를 그리는 것을 보여 줍니다. 항목이 특정 조건을 만족하면 이 항목은 더 큰 글꼴로 그려지고 빨강으로 바뀝니다.

예제

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

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

참고 항목

참조

DrawItem

DrawItemEventArgs

MeasureItem

개념

소유자가 그린 기본 제공 컨트롤 지원

기타 리소스

ListBox 컨트롤(Windows Forms)

ComboBox 컨트롤(Windows Forms)