Doppelklicken Sie auf DataGridView-Zeile?

8

Ich verwende vb.net und DataGridView auf einem WinForm.

Wenn ein Benutzer auf eine Zeile doppelklickt, möchte ich etwas mit dieser Zeile machen. Aber wie kann ich wissen, ob der Benutzer auf eine Zeile oder nur irgendwo im Raster geklickt hat? Wenn ich DataGridView.CurrentRow verwende, dann wird, wenn eine Zeile ausgewählt ist und der Benutzer irgendwo auf dem Gitter klickt, die aktuelle Zeile das ausgewählte anzeigen und nicht wo der Benutzer geklickt hat (was in diesem Fall nicht in einer Reihe wäre und ich würde es ignorieren wollen) ).

    
Alex 13.10.2010, 02:11
quelle

6 Antworten

24

Probieren Sie das CellMouseDoubleClick -Ereignis aus ...

%Vor%

Dies wird nur ausgelöst, wenn sich der Benutzer tatsächlich über einer Zelle im Gitter befindet. Der If Check filtert Doppelklicks auf die Zeilenselektoren und Header.

    
codeConcussion 13.10.2010, 04:51
quelle
3

Verwenden Sie Datagridview DoubleClick Evenet und dann Datagrdiview1.selectedrows [0] .cell ["CellName"], um Werte zu erhalten und zu verarbeiten.

Im folgenden Beispiel wird die Client-Aufzeichnung bei einem Doppelklick auf die ausgewählte Zeile angezeigt.

private void dgvClientsUsage_DoubleClick (Objektabsender, EventArgs e)         {

%Vor%     
Napster 07.05.2013 07:09
quelle
1

Verwenden Sie DataGridView.HitTest im Doppelklick-Handler für Finde heraus, wo der Klick passiert ist.

    
liggett78 13.10.2010 13:33
quelle
0

Ich würde das DoubleClick -Ereignis von DataGridView . Dies wird zumindest nur ausgelöst, wenn der Benutzer im Datenraster doppelklickt - Sie können mit MousePosition bestimmen, auf welche Zeile (falls vorhanden) der Benutzer doppelklickt.

    
davisoa 13.10.2010 04:31
quelle
0

Sie könnten so etwas versuchen.

%Vor%

Denken Sie daran, dass ich das nicht testen konnte, weil ich irgendwelche Daten hatte, um meine DataGridView zu füllen.

    
giodamelio 13.10.2010 04:49
quelle
0

Sie können dies versuchen:

%Vor%     
Sudharsan 16.03.2012 11:56
quelle