C# / Récupérer la position de la souris
Voici un petit code vous permettant de récupérer très facilement la position de la souris dans votre application.
Dans un premier temps, il faut s’abonner à l’évènement MouseMove, soit de l’objet survolé (ex: Button, Picture, Label, Grid….), soit du UserControl pour toute la fenêtre.
Dans un seconde temps, on instancie un objet Point qui contiendra les coordonnées X et Y de la souris.
Ensuite, on utilise la méthode GetPosition() qui prend en paramètre le nom d’un élément graphique (ex: Button, Picture, Label, Grid….) qui sert de référence pour le calcul des coordonnées.
Et pour finir, on écrit les coordonnées dans 2 labels nommés labelX et labelY la position de la souris.
private void UserControl_MouseMove(object sender, MouseEventArgs e) { Point point = new Point(); point = e.GetPosition(LayoutRoot); labelX.Content = point.X.ToString(); // 1er label labelY.Content = point.Y.ToString(); // 2e label }
1 commentaire
Jonathan ANTOINE · 5 novembre 2010 à 11h28
Hello,
Ce qui est dommage par contre c’est que bien que cela soit le même nom pour les évènements touchs, il n’y a pas d’interface commune pour récupérer la position du pointeur (souris, doigts, etc…)… Du coup difficile de factoriser certaines fois,
Bonne continuation !