Laden...

Drag & Drop von GDI Formen

Erstellt von Alex747 vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.618 Views
A
Alex747 Themenstarter:in
2 Beiträge seit 2014
vor 9 Jahren
Drag & Drop von GDI Formen

Hallo Zusammen,

mein Name ist Alex und bin was C# angeht noch recht unerfahren. Ich möchte gerne ein Programm schreiben bei dem ich Rechtecke oder andere Formen verschieben kann.
Bisher habe ich im Form Designer eine PictureBox erstellt und darin kann ich per Button klick ein Rechteck zeichnen. Jetzt würde ich gerne dieses Rechteck mit der Maus per Drag & Drop verschieben.
Dazu habe ich folgende Idee. Ich wollte dabei mit den Maus Events der PictureBox arbeiten. Mit MouseClick könnte ich ja zuerst die Mausposition abragen und dann mit der des Rechteckes vergleichen. Bei Übereinstimmung müsste ich das Objekt anhand des MouseMove Events immer wieder neu zeichnen.
Das erste Problem ist die Position des Rechteckes. Wie kann ich dieses feststellen? Dazu müsste ich alle Koordinaten von jedem Punkt des Rechteckes wissen oder? Das Rechteck zeichne ich mit der Methode DrawRectangle eines Graphics Objectes.
Für jede Hilfe wäre ich sehr dankbar 😃

Grüsse

Alex

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo Alex747,

am Einfachsten geht es mit GraphicsPath.IsOutlineVisible/IsVisble, siehe [Tutorial] Gezeichnete Objekte mit der Maus verschieben.

BTW: Wenn du PictureBox.Image nicht verwendest, solltest du besser ein Panel nehmen oder direkt ins Form zeichnen, siehe auch [Artikel] Zeichnen in Windows-Programmen.

herbivore

A
Alex747 Themenstarter:in
2 Beiträge seit 2014
vor 9 Jahren

hallo herbivore,

genau sowas hab ich gesucht, danke. Da werde ich mich jetzt mal durcharbeiten 😃

Alex