J'ai un projet en C #, Windowsforms et j'ai créé un panneau code> code> contenant une image J'ai tourné I.e. Lorsque je saisie une image et déplacez le curseur à gauche et en bas, je voudrais obtenir le même comportement que je le ferai avec les défilements code>'s code>. p>
Comment faire? P> code> beaucoup plus gros que son parent. p>
panneau.Autoscroll code> vers
true code> et ce que je veux faire est de faire glisser cette
imagebox code> dans
panneau code> au lieu d'attraper un rouleau et de le déplacer. p>
3 Réponses :
OK, je l'ai eu. ;-) Si quelqu'un d'autre a le même problème, voici une solution:
protected Point clickPosition; protected Point scrollPosition; private void pictureBox_MouseDown(object sender, MouseEventArgs e) { this.clickPosition.X = e.X; this.clickPosition.Y = e.Y; } private void pictureBox_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { scrollPosition.X = scrollPosition.X + clickPosition.X - e.X; scrollPosition.Y = scrollPosition.Y + clickPosition.Y - e.Y; this.panel.AutoScrollPosition = scrollPosition; } }
une variante plus petite de la solution HSZ :)
Une solution améliorée de HSZ ', avec la limitation de défilement, mais je n'autorise que le défilement vertical