ListView und der Doppelclick

Es mag trivial erscheinen – wenn man weiß wie es geht. Aber das ist ja bei vielen Dingen so.

Eine ListView in Visual Studio/ .Net zu benutzen ist eine recht alltägliche Sache. Grund genug dass man hier nicht mit unnötigen Wegen an das Ziel kommt, welches man vor Augen hat.
Will man in einem ListView per Doppelklick auf ein Item rausfinden, welches Item man denn da gerade geklickt hat, kann man in vielen Tutorials teils ziemlich komplizierte Lösungen finden. Da gibt es grundsätzlich zwei verschiedene Ansatzpunkte.
Zum einen guckt man welches Item denn gerade unter dem Cursor ist, wenn man Doppelklickt, oder aber man geht alle Items in der ListView durch und fragt nach Selected ab.
Beides sind Wege die nicht nur Code produzieren, sondern vor allem schwer gegen die persönliche Einschätzung stehen “dass das doch irgendwie einfacher gehen muss”.
Tut es auch.

Wir sind in Visual Studio 2008 und haben eine ListView im Formular. Mit Event ListView.DoubleClick erhalten wie den Funktionsrumpf

    Private Sub MyListView_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyListView.DoubleClick
        
    End Sub

um nun das entsprechende Item zu extrahieren reicht der Auftruf

    Private Sub CustomerFilesListView_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CustomerFilesListView.DoubleClick
        Debug.Print(CType(sender, ListView).SelectedItems(0).Text.ToString)
    End Sub

Will man nun beispielsweise noch eine Id zurückliefern, die hinter dem eigentlichen Anzeigetext steht, dann geht das am einfachsten mit einem Tag. Also einfach beim Anlegen der Items den Item.Tag mit der id (oder einem anderen Key) füllen und dann statt “Text” einfach den “Tag” abfragen.

    Private Sub CustomerFilesListView_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CustomerFilesListView.DoubleClick
        Debug.Print(CType(sender, ListView).SelectedItems(0).Tag.ToString)
    End Sub

Et Voila.

3.793 Gedanken zu „ListView und der Doppelclick“

  1. Danke! Ich war gerade dabei zu gucken “welches item denn gerade unter dem Cursor ist”, als ich deinen blog fand…übrigens mit Bing, nicht mit Google! (Suche: “Listview doubleclick”)

Kommentare sind geschlossen.