Prendre la main sur une image

gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011 - 1 juin 2006 à 15:52
gazalii Messages postés 104 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 13 février 2008 - 1 juin 2006 à 17:37
bonjour a tous !!

je voudrais savoir si été possible en c# de prendre la main sur une image ou autres, je m'explique,

j'ai une image dans une form, et je voudrai la déplacer la faire bouger ou je veut a l'aide du clavier (touches directionnelles ou 4,8,6,2 du pavée numérique), ou déplacer l'image avec la souris

voila je c'est pas si c'est très clair, et es difficile, ou avez un petit bou de code,

sinon jai regarder dans es sources mais il n'y avait pas vraiment ça, ou peut etre mais je n'est point compris le code,

merci d'avance .................... 

4 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
1 juin 2006 à 16:04
Ton image est affichée dans une PictureBox j'imagine ? Dans ce cas, voila comment tu peux faire par exemple avec la souris.
Abonne toi aux évènements MouseDown, MouseUp et MouseMove de la PictureBox et utilise le code suivant :

        bool moved = false;
        Point previousLocation;

        // Début du clic, on se prépare a déplacer la PictureBox
        private void pictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            moved = true;
            previousLocation = Cursor.Position;
        }

        // Fin du clic, on ne déplace plus
        private void pictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            moved = false;
        }

        // La souris se déplace
        private void pictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            // Si on est en cours de déplacement
            if (moved == true)
            {
                Point currentLocation = pictureBox.PointToScreen(e.Location);
                // On déplace la PictureBox
                pictureBox.Left += currentLocation.X - previousLocation.X;
                pictureBox.Top += currentLocation.Y - previousLocation.Y;
                previousLocation = currentLocation;
            }
        }

Pour faire ca au clavier c'est le meme principe : tu t'abonne aux évenement du clavier et du déplace ta picture box a chaque appuie sur une touche de direction... (en modifiant les propriétés Left et Top)
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
1 juin 2006 à 16:09
Je te remercie énormément,
Merci !!!! 
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
1 juin 2006 à 16:25
désolé une question, "Abonne toi aux évènements MouseDown, MouseUp et MouseMove de la PictureBox" sa se trouve ou exactemement,

Désolé ceci est peut etre idiot mais je trouve pas..................
0
gazalii Messages postés 104 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 13 février 2008
1 juin 2006 à 17:37
tu ecris le code ke Nikoui ta donne puis tu vas a propriete tu vas trouve des icones categories alphabetik ... tu click sur evenements et tu associ ls pour chaque evenement ls void adequote
0
Rejoignez-nous