Listbox Steuerelement - einzelne felder farbig darstellen, wie ?

curzon

Mitglied
Hallo, habe da mal ne Frage. Ist es möglich bei dem Steuerelement einzelne Felder farbig darzustellen ?
z.B.:

Eintrag1 (ROT)
Eintrag2 (normal - weis)
Eintrag3 (Blau)
etc..

Ich habe schon gegoogelt aber nichts passendes gefunden. Kann mir jemand einen Link zu der Info geben oder mir sagen wie das geht, oder ob das überhaupt möglich ist ? Wenn nicht, was währe die Alternative zu ListBox?

P.S.: VB 2005 .net 2.0 XP

Vielen Dank im voraus.
 
Hallo, hier ein Beispiel:
Visual Basic:
Imports System.Drawing

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
        For N As Integer = 0 To 15
            ListBox1.Items.Add(N.ToString() & ". Eintrag")
        Next
    End Sub

    Private Sub DrawColoratedItem(ByVal lb As ListBox, ByVal e As System.Windows.Forms.DrawItemEventArgs)
        Dim hBrush As Brush
        e.DrawBackground()
        Try
            Select Case e.Index
                Case 0, 2, 4, 6
                    hBrush = Brushes.Red
                Case 1, 3, 5
                    hBrush = Brushes.Blue
                Case 7 To 11
                    hBrush = Brushes.Green
                Case Else
                    hBrush = Brushes.Black
            End Select
            e.Graphics.DrawString(lb.Items(e.Index), e.Font, hBrush, _
                   New RectangleF(e.Bounds.X, e.Bounds.Y, _
                   e.Bounds.Width, e.Bounds.Height))
            e.DrawFocusRectangle()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Info")
        End Try
    End Sub

    Private Sub ListBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
        Call DrawColoratedItem(ListBox1, e)
    End Sub
End Class
 
Zurück