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) ).
Probieren Sie das CellMouseDoubleClick
-Ereignis aus ...
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.
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%Verwenden Sie DataGridView.HitTest im Doppelklick-Handler für Finde heraus, wo der Klick passiert ist.
Ich würde das DoubleClick -Ereignis von
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.
Tags und Links winforms vb.net datagridview double-click