Ermitteln Sie die angeklickte Spalte in ListView

8

Ich muss die Spalte in einer ListView in C # geklickt bekommen

Ich habe einen Beispielcode von So ermitteln Sie die angeklickte Spaltenindex in einer Listview , aber ich bin nicht sicher, wie ich es implementieren sollte.

    
Sathish 04.03.2010, 08:26
quelle

4 Antworten

15

Herrgott, jeder ist zu faul, um Code zu schreiben. Es gibt drei Schritte zum Prozess:

  1. Holen Sie die Mausposition mit Control.MousePosition und konvertieren Sie sie in Clientkoordinaten.
  2. Rufen Sie die Funktion HitTest auf, um zu ermitteln, worauf die Maus verweist. Dies liefert ein Objekt mit vielen Informationen außer der eigentlichen Spaltennummer, also ...
  3. Durchsuchen Sie das Array subitems mit IndexOf , um die Spaltennummer zu finden.

Hier ist der Code:

%Vor%     
Adam Pierce 22.04.2012 23:29
quelle
4

Der ListView -Steuerpunkt hat eine HitTest -Methode. Sie geben ihm die x- und y-Koordinaten des Mausklick-Ereignisses und es gibt Ihnen ein Objekt, das Ihnen zu diesem Zeitpunkt die Zeile (Listenansichtselement) und die Spalte (Listenansicht-Unterelement) angibt.

    
Tim Robinson 04.03.2010 08:39
quelle
0

Dies ist VB.NET-Code, aber die Objekte sollten identisch sein.

%Vor%     
Anthony 21.12.2010 20:18
quelle
0

Die e.Column enthält tatsächlich den Index

%Vor%     
Bernhard 07.08.2014 10:38
quelle

Tags und Links