1

ListView item selected lassen

Frage von Aides Aides

Ich arbeite gerade mit VB im VisualStudio 2010 und habe auf meinem Form ein ListView bei dem, wenn ich ein Item ganz normal per klick selectiert habe und dann auf meine ComboBox (DropDownList) darunter klicke das Item oben nicht mehr blau markiert ist. kann ich machen dass das trotzdem markiert bleibt?

Fragen zu gleichen Themen finden

Antworten (1)

  • 0
    Antwort von CaroAs CaroAs

    Möchtest Du ZUSÄTZLICH bei einer Auswahl in Deiner DropDowmList, dass das ursprüngliche ausgewählt bleibt, dann müsste es eine MultiSelect-Eigenschaft (=True) geben bzw. müsste man eigentlich mit Ctrl+MouseClick mehrere auswählen können, ganz MS Windows-konform halt.

    Ansonsten sorgt ein markiertes, aber nicht selektiertes Element (ohne Fokus) in einer ComboBox eher für Verwirrung, weil dann der Zustand/Fokus nicht so klar ist oder ich habe Deine Frage doch nicht ganz verstanden???

    Kommentar von Aides Aides

    entweder ich kapier deine Antwort nicht oder du meine Frage... ich glaub eher das 2.... also: Ich habe oben ein ListView in dem ich ein Item auswählen muss und darunter ein Dropdown bei dem ich einen Wert auswählen muss. Beim Klick auf einen Button soll es einen Wert aus dem selected ListView Item mit dem Wert im Dropdown multiplizieren. Dabei ist es allerdings doof wenn ich ein Item ausgewählt habe und den Dropdown anklicke und dadurch die blaue Markierung im ListView verschwindet... wie kann ich das verhindern?

    Kommentar von CaroAs CaroAsCaroAs

    Ja, ich hatte Deine Frage am Anfang missverstanden. Ich werde das mal gleich nachvollziehen, habe zwar nur VS 2005/2008, sollte aber ähnlich sein. Ich melde mich gleich wieder...

    Kommentar von CaroAs CaroAsCaroAs

    Also, am einfachsten ist es, wenn Du bei dem SelectionIndexChanged-Ereignis der ListView das/die ausgewählten Items mit einer anderen Hintergrundfarbe belegst, damit sichtbar ist, welche(s) Item(s) auswählt wurde, wenn der Fokus wechselt.

    Dazu sie SelectedListViewItemCollection durchgehen (nur bei multiselect sind mehrere möglich), und die selektierten mit anderen Hintergrundfarbe belegen und bei den nicht selektierten die Select-Hintergrundfarbe wieder löschen.

    Dann sieht man, welche Items selektiert wurden, selbst wenn der Fokus dann auf der ComboBox steht!

    Kommentar von Aides Aides

    Ok... die Idee ist gut aber irgendwie komm ich nicht an die Backgroundcolor vom selected item... pls help... PS: Multiselect hab ich sowiso aus

    Kommentar von CaroAs CaroAsCaroAs

    Die Hintergrundfarbe kannst Du z.B. auf System.Drawing.SystemColors.ActiveCaption und die Vordergrundfarbe auf System.Drawing.SystemColors.ActiveCaptionText setzen. Aber vorher alle Farben der ListViewItems wieder zurücksetzen, damit nur das wirklich selektierte "markiert" bleibt.

    Ansonsten habe ich für ListView nichts entsprechendes gefunden wie es z.B. für das Ereignis DataGridView_CellPainting gibt (was natürlich nicht heißt, dass es das nicht gibt!)

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.