Forum: PC-Programmierung ListView Spalte bestimmen


von Holger74 (Gast)


Lesenswert?

Wie kann man bei einem ListView im .net Framework  die Spalte bestimmen, 
auf die gerade geklickt wurde?

von Robert (Gast)


Lesenswert?

HITTEST? Und die zugehörige Spalte aus dem Item auslesen?

von Holger74 (Gast)


Lesenswert?

Vielen Dank.

Das ist eine ganz schöne Rätselnuss.

HitTest liefert mir ein ein ListViewItem. Der Index entpricht der Zeile.

Wie bekomme ich das entsprechende ListViewSubItem, bzw dessen Index?

von Ellen R. (ellenr)


Lesenswert?

''' <summary>
    ''' event handle Listview prnr/bg
    ''' 
http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/26e327f4-c446-417b-8fe5-c28b774bd444/
    ''' </summary>
    Private Sub ListView1_Mouse(ByVal sender As System.Object, ByVal e 
As System.Windows.Forms.MouseEventArgs) _
    Handles ListView1.MouseClick, ListView3.MouseClick

        Dim _listView As ListView = CType(sender, ListView)
        Dim hti As ListViewHitTestInfo = _listView.HitTest(e.Location)
        If hti.SubItem IsNot Nothing Then
            Dim subitemindex As Integer = 
hti.Item.SubItems.IndexOf(hti.SubItem)
            Dim val As String = hti.Item.SubItems(subitemindex).Text

von Holger74 (Gast)


Lesenswert?

Vielen Dank, Ellen Sonne, mit dem CodeSchnipsel von Dir funktioniert es.


Bei mir sehen die Zeilen jetzt so aus:

listView1->MouseDownEvent....
{
 ListViewHitTestInfo ^htInfo;
 htInfo= listView1->HitTest(e->X,e->Y);

 Int16 subIndex= htInfo->Item->SubItems->IndexOf(htInfo->SubItem);

 ...

}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.