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
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
hallo herbivore,
genau sowas hab ich gesucht, danke. Da werde ich mich jetzt mal durcharbeiten 😃
Alex