Entwickler-Ecke
WinForms - Drag & Drop zwischen verschiedenen Forms
UGrohne - Do 26.06.08 22:14
Titel: Drag & Drop zwischen verschiedenen Forms
Ich implementiere gerade Drag & Drop zwischen einem GridView auf der einen Form und einer Textbox auf der anderen. Hierzu verwende ich folgende Events
GridView:
- MouseDown für das Setzen eines Boolean
- MouseMove für die Ausführung der Methode DoDragDrop
- MouseUp für das Abbrechen
Textbox:
- DragOver für das Validieren des Objekts
- DraDrop für das Übernehmen der Daten
Soweit ganz gut. Nur dummerweise kann ich nur einmal ziehen, danach erscheint es so, als ich nach dem Loslassen der Maustaste immer noch im Drag-Modus bin, wenn ich über das Grid fahre. Irgendwas habe ich vergessen zum Abbrechen bzw. Beenden des Drags.
Hat mir jemand einen kleinen Hint?
UGrohne - So 13.07.08 11:19
Ich hab mir das jetzt noch mal angeschaut: Problem wird wohl sein, dass das Event OnMouseUp beim Fallenlassen auf dem andern Form nicht ausgeführt wird und damit die Boolean-Variable nicht auf false gesetzt wird. Dadurch wird die Methode DoDragDrop in OnMouseOver natürlich wieder ausgeführt, sobald ich die Maus über das alte Control bewege.
Problem ist nur, wie setze ich das zurück, ich will nicht direkt die Variable vom Zielcontrol aus zurücksetzen, weil ich mehrere Drag-Drop-Operationen von verschiedenen Controls zulassen muss.
//EDIT: Hat sich erledigt, ich bins nochmal genau durchgegangen: Ich habe vergessen abzufragen, ob die Methode DoDragDrop bereits ausgeführt wurde in OnMouseMove. Dadurch wurde sie mehrfach gestartet und da ich nur einmal droppen kann ... ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!