Bonjour,
voila durant l'execution de mon programme je souhaite déplacer mon image pour cela j'utilise l'évenement MouseMove de la picturebox concernée pour la déplacer ce qui donne:
private
void pictureBox2_MouseMove(
object sender,
MouseEventArgs e){
if (e.Button MouseButtons.Left)pictureBox2.Location
new
Point(e.X, e.Y);
//location;}
Seulement le problème c'est que lorsque je fais, ça une chose bizarre ce produit... la picturebox aparait 2 fois à des coordonné différente et elle laisse des trainée pas très propre.
Huuummm je viens de comprendre, il faut prendre la position du curseur avec
Cursor
.Position
et ça règle le problème, car avec le e.X, lorsque l'on est dans la picturebox sa marche mais au dela, les coordonées ne sont plus bonne et créé un double affichage... enfin j'arrive pas a l'expliquer mais faite le vous comprendré!
Par contre j'ai un problème c'est que j'utilise Cursor pour placer ma pictureBox mais ça créé un gros décalage car:
Si je met par exemple:
pictureBox2.Location =
new
Point
(
Cursor
.Position.X,
Cursor
.Position.Y);
au moment ou je suis à X 0 et Y 0, mon curseur lui est en dehors de ma Form et mon image est coller au coordonné X= 0 et Y = 0 de ma Form, donc il y a un décalage si tu vois ce que je veux dire. J'ai donc essayé
Mais maintenant le décalage correspond au la taille de la barre de titre (je suis pas sur qu'elle se nomme comme ça, enfin c'est celle avec le bouton réduir, agrandir, fermer). Je vais voir si il n'y a pas moyen de bidouiller un petit calcul qui me donne cette taille avec this.ClientRectangle
par exemple.
Tuizi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Comme le dit la doc, Cursor.Position donne la position du curseur en coordonnées écran.
Utilises la méthode PointToClient du contrôle conteneur du PictureBox (dans ton cas, le formulaire apparemment)