Doppelklick und Drag&Drop Konflikt

01/02/2008 - 18:21 von Markus Schnitzer | Report spam
Hallo,
ich habe eine Listen-Element, dass per Drag & Drop verschoben werden kann.
Bei Doppelklick soll aber ein Editierfenster geöffnet werden.

Nach meiner jetzigen Programmierung geht entweder nur das eine, oder das
Andere:



DRAG & DROP:
Private Sub DataGridViewMietlager_MouseDown(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.MouseEventArgs) Handles
DataGridViewMietlager.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
Me.DoDragDrop()
End If
End Sub



DER DOPPELKLICK:
Private Sub DataGridViewMietlager_MouseDoubleClick(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles
DataGridViewMietlager.MouseDoubleClick
Code...
End Sub



Es liegt wohl daran, dass ich beim Drag&Drop den Handle mit MouseDown
abfange, das natürlich bei einem Doppelklick auch vorkommt. Wie kann ich
aber diese beiden verschiedenen Ereignisse ausseinanderhalten?

Danke

Markus Schnitzer
 

Lesen sie die antworten

#1 Thorsten Doerfler
01/02/2008 - 19:03 | Warnen spam
Markus Schnitzer schrieb:
ich habe eine Listen-Element, dass per Drag & Drop verschoben werden kann.
Bei Doppelklick soll aber ein Editierfenster geöffnet werden.

Nach meiner jetzigen Programmierung geht entweder nur das eine, oder das
Andere:



Verwende MouseMove und starte den Drag-Vorgang erst, wenn die linke
Maustaste gedrückt ist und nachdem die Maus um x verschoben wurde. So
machen es andere Anwendungen auch. In der Hilfe ist zu der
DoDragDrop-Methode ein ausführliches Beispiel vorhanden.

Alternativ oder zusàtzlich böte sich noch an, beim MouseDown einen
Timer zu starten, nach dessen Ablauf Du den Drag-Vorgang initiierst.
Die Zeit richtet sich dann idealerweise nach der
Doppelklick-Verzögerung. Klickt der Benutzer doppelt oder làsst die
Maustaste wieder los, wird der Timer gestoppt.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen