C# - Bild per Mausdrag verschiebbar machen

Don Philippo

Mitglied
Hallo,

bin neu hier und erhoffe mir ein wenig Hilfe von Euch.

Habe folgendes Problem:

Ich lade mir ein Bild in eine pictureBox. Wenn nun das Bild größer als die pictureBox ist, würde ich es bei "gedrückt-gehaltender" Maustaste verschiebbar machen wollen, so daß die zuvor nicht sichtbaren Bereiche zu sehen sind.
Z.B. bei einer Landkarte, die ich beliebig in der pictureBox hin und her schieben kann.
Beim Loslassen der Maustaste soll das Bild seine Position beibehalten.

Kann mir jemand dabei weiterhelfen?

Liebe Grüße,

Don Philippo
 

Alexander12

Erfahrenes Mitglied
Hi.

Das ginge vielleicht, wenn du die Position des Bildes immer änderst, also z.B. auf negative Zahlen, dann geht das Bild nach oben Links weg und du kannst unten rechts sehn, verstehst.

Oder n UserControl, dass sowas kann.. selber Proggen halt dann.


MfG Alexander12

//EDIT: Ach, und Willkommen im Forum, fühl dich wie Zuhause :-(
 

Don Philippo

Mitglied
Hi Alexander,

vielen Dank für Deine Antwort. Leider bin ich noch nicht so tief in C#.
Wie funktioniert denn sowas mit dem Mausdrag?

  • Bild greifen
  • Bild verschieben
  • Bild fallenlassen

Liebe Grüße,

Philipp ;)
 

Nico Graichen

Erfahrenes Mitglied
Hi.

Du musst das MouseDown, MouseUp, und MouseMove Event abfangen.
in alle Events kannst du abfragen, welcher MouseButton gedrückt wurde. Wenn der kinke Mausbutton gedrückt wurde, berechnest du jedesmal, wenn das Event MouseMove geworfen wird, die Position (Location) deines Bildes neue (abhängig von der bisherigen Position und der Position der Maus).
 

Neue Beiträge