Eigene Selected Farbe bei ListBox?

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Eigene Selected Farbe bei ListBox?

    Hallo zusammen,

    Ich stehe im Moment auf dem Schlauch.
    Ich möchte selbst bestimmen, mit welcher Farbe markiert werden soll, wenn man ein ListBox-Item auswählt.
    Ich habe DrawMode auf OwnerDrawVariable gesetzt und zeichne nun (fast) alles selbst.

    Jedoch wird, wenn man ein anderes Item auswählt, es auch mit den letzten zusammen eingefärbt.

    VB.NET-Quellcode

    1. IM DRAW-EVENT:
    2. Dim g As Graphics = e.Graphics
    3. Dim r As Rectangle = e.Bounds
    4. If e.Index = ListBox1.SelectedIndex Then
    5. g.FillRectangle(Brushes.LightGray, r)
    6. Else
    7. g.FillRectangle(Brushes.White, r)
    8. End If


    Wie kann ich es bewerkstelligen das nur von einem Item der Hintergrund eingefärbt wird?
    Ich bitte nur um Ratschläge. ;)

    mfg. EiPott

    Nachtrag: Lösung gefunden. Ich lasse im SelectedIndexChanged-Event die ListBox per Refresh() neu zeichnen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EiPott“ ()

    Nachtrag: Lösung gefunden. Ich lasse im SelectedIndexChanged-Event die ListBox per Refresh() neu zeichnen.

    -> ersetzen durch Invalidate :P Aus Performancegründen...da hier nur neu gezeichnet wird, bei Refresh werden alle Untercontrols mit einbezogen und nocheinmal komplett neu geladen..
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---