C# Listbox.DrawItem-Farbe Linien jeweils
Ich habe einige code zu ändern, wie listbox handeln. Ändern kann ich die Farbe des Textes, aber ich bin nicht in der Lage zu ändern die Hintergrundfarbe jeder Zeile.
Dies ist in einer for-Schleife für jeden der meine Zeilen
LBLines ist ein array von string-store in eine Globale variable
if (LBLines[e.Index] != "None")
{
e.Graphics.FillRectangle(new SolidBrush(Color.FromName(LBLines[e.Index])),
e.Bounds.X,e.Bounds.Y,e.Bounds.Width,e.Bounds.Height);
}
Dieser Farbe ALLE Linien der gleichen Farbe, auch diejenigen aufgelistet, die als "None", du bist was ich brauche ist, dass Sie bleiben gleichen Farbe wie die Standard-Hintergrundfarbe.
EDIT: Comparaison ist nicht das problem, problem kommt von der e.Grafik.FillRectangle. Es scheint die Farbe der Linien, Räume, unabhängig von der, die ich bin Zeichnung.
EDIT2: Geänderte code, um zu zeigen, dass h gleich e.Index
- Ich würde überprüfen, um sicherzustellen, dass du tust, richtig vergleichen auf LBLines[h] != "None" erste"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schwer zu sagen ohne mehr Kontext um Ihren code (die Schleife, die Methode,...), aber dieser code tut, was ich denke, es ist Sie wollen:
Beachten Sie, dass die
DrawStyle
Eigenschaft desListBox
eingestellt istOwnerDrawFixed
.