C# / Récupérer la position de la souris

Publié par Jean-Baptiste Vigneron le

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.

1private void UserControl_MouseMove(object sender, MouseEventArgs e)
2{
3     Point point = new Point();
4     point = e.GetPosition(LayoutRoot);
5 
6     labelX.Content = point.X.ToString(); // 1er label
7     labelY.Content = point.Y.ToString(); // 2e label
8}

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 !