MouseDown und MouseUp

Z

Zak256

Hallo zusammen.

Vielleicht kann mir jemand sagen, wie ich folgendes Problem lösen kann:

Ich habe in Visual Studio eine Form, die ein System.Windows.Forms.UserControl als "Arbeitsfläche" enthält. In dieser Arbeitsfläche werden nun mehrere Elemente einer weiteren System.Windows.Forms.UserControl erzeugt. Nun soll man eins dieser Elemente anklicken können (MouseDown), den Mauscursor auf ein anderes bewegen und die Taste loslassen (MouseDown), so dass ich beide verbinden kann.

Mein Problem ist, dass der ganze Vorgang von MouseDown bis MouseUp dem ersten Element zugeordnet wird, d.h. wenn ich testweise die ID des Elementes ausgeben lasse, erhalte ich zweimal die gleiche des ersten Elements. Ich komme also programmtechnisch zum Verbinden nicht an das zweite Element heran.

Hat irgendwer einen Tipp für mich? Bei Bedarf kann ich auch etwas von meinem Code hier posten.

Danke!
 
Zuletzt bearbeitet von einem Moderator:
Ein möglicher Lösungsansatz wäre der folgende:
Im MouseDown-Event des UserControls löst du das MouseDown-Event des übergeordneten UserControl aus. Dort wiederum behandelst du das MouseUp-Event, speicherst die Position und durchläufst die Control-Eigenschaft des UserControls. Dabei überprüfst du, ob die gespeicherte Mausposition in einem Objekt enthalten ist (z.B. über Rectangle.IsVisible). Ist dies der Fall, dann hast du dein zweites Objekt und kannst es mit dem ersten verbinden.

Falls sich das auch nach längerem Einlesen und Ausprobieren immer noch als absolut unverständlich erweisen sollte, kannst du ja noch mal nachhaken. :)

Gruß
PhoenixLoe
 
Hallo PhoenixLoe,
danke für die - wenn auch späte - Antwort. Ich habe es aber mittlerweile schon mit den DragDrop-Funktionen hinbekommen.

Grüße,
Zak
 
Zurück