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