Hallo zusammen,
ich habe eine Listbox auf einer Form, deren Einträge abhängig von einem vorgegebenen Parameter per OnDrawItem farblich hervorgehoben werden. Dabei ist nicht die komplette Reihe der Listbox gemeint, sondern die Schriftfarbe des Eintrages.
Meine Frage ist, ob ich beim Auswählen eines Eintrages (ListBox1_SelectedIndexChanged) irgendwie dessen Schriftfarbe ermitteln kann, ohne erneut die Prozedur zu durchlaufen, die es beim Füllen der Listbox eingefärbt hat?
Vielen Dank schonmal für die Hilfe!
Gruß Markus
ich habe eine Listbox auf einer Form, deren Einträge abhängig von einem vorgegebenen Parameter per OnDrawItem farblich hervorgehoben werden. Dabei ist nicht die komplette Reihe der Listbox gemeint, sondern die Schriftfarbe des Eintrages.
VB.NET-Quellcode
- Private Sub OnDrawItem(ByVal sender As Object, ByVal e As DrawItemEventArgs) Handles ListBox1.DrawItem
- Dim Item As Object = ListBox1.Items(e.Index)
- Dim Itembegrenzung As Rectangle = e.Bounds
- Dim Schriftfarbe As String = "green"
- Dim Schriftart As Font = New Font(e.Font, FontStyle.Bold)
- Dim Stiftart As New SolidBrush(Color.FromName(Schriftfarbe))
- e.Graphics.DrawString(CStr(Item), Schriftart, Stiftart, Itembegrenzung.X, Itembegrenzung.Y)
- Stiftart.Dispose()
- Schriftart.Dispose()
- End Sub
Meine Frage ist, ob ich beim Auswählen eines Eintrages (ListBox1_SelectedIndexChanged) irgendwie dessen Schriftfarbe ermitteln kann, ohne erneut die Prozedur zu durchlaufen, die es beim Füllen der Listbox eingefärbt hat?
Vielen Dank schonmal für die Hilfe!
Gruß Markus