hallo alle zusammen,
ich möchte gerne eine listbox Zeile je nach art des ergebnisses unterschiedlich einfärben.
Aber es ändert sich immer die komplette Hintergrundfarbe aller Einträge und nicht nur die des einen.
was muss ich tun um immer nur eine Zeile einzufärben und die anderen Zeilen in ihrer bisherigen Farbe zu belassen? Ich kenn mich damit nicht aus wenn das mit der Schriftfarbe einfacher geht nehme ich auch das ^^'
ich möchte gerne eine listbox Zeile je nach art des ergebnisses unterschiedlich einfärben.
Aber es ändert sich immer die komplette Hintergrundfarbe aller Einträge und nicht nur die des einen.
was muss ich tun um immer nur eine Zeile einzufärben und die anderen Zeilen in ihrer bisherigen Farbe zu belassen? Ich kenn mich damit nicht aus wenn das mit der Schriftfarbe einfacher geht nehme ich auch das ^^'
VB.NET-Quellcode
- Dim g As Graphics = e.Graphics
- Dim f As New Font("Arial", 10, FontStyle.Regular)
- If Form1.dual.Checked Then
- erg = "(Du)"
- g.FillRectangle(Brushes.LightGreen, e.Bounds)
- g.DrawString(lstbxaus.Items(e.Index), f, Brushes.Black, e.Bounds.X, e.Bounds.Y)
- End If
- If Form1.dez.Checked Then
- erg = "(De)"
- g.FillRectangle(Brushes.LightBlue, e.Bounds)
- g.DrawString(lstbxaus.Items(e.Index), f, Brushes.Black, e.Bounds.X, e.Bounds.Y)
- End If
- If Form1.hex.Checked Then
- erg = "(He)"
- g.FillRectangle(Brushes.Red, e.Bounds)
- g.DrawString(lstbxaus.Items(e.Index), f, Brushes.Black, e.Bounds.X, e.Bounds.Y)
- End If
- If Form1.octa.Checked Then
- erg = "(Oc)"
- g.FillRectangle(Brushes.Yellow, e.Bounds)
- g.DrawString(lstbxaus.Items(e.Index), f, Brushes.Black, e.Bounds.X, e.Bounds.Y)
- End If