Lire en anglais

Partager via


Gérer les pointeurs de souris (Windows Forms .NET)

Le pointeur de la souris , parfois appelé curseur, est une image bitmap qui spécifie un point de focus sur l’écran pour l'entrée de l'utilisateur à l'aide de la souris. Cette rubrique fournit une vue d’ensemble du pointeur de la souris dans Windows Forms et décrit certaines des façons de modifier et de contrôler le pointeur de la souris.

Accès au pointeur de la souris

Le pointeur de la souris est représenté par la classe Cursor, et chaque Control a une propriété Control.Cursor qui spécifie le pointeur pour ce contrôle. La classe Cursor contient des propriétés qui décrivent le pointeur, telles que les propriétés Position et HotSpot, et les méthodes qui peuvent modifier l’apparence du pointeur, telles que les méthodes Show, Hideet DrawStretched.

L’exemple suivant masque le curseur lorsque le curseur se trouve sur un bouton :

private void button1_MouseEnter(object sender, EventArgs e) =>
    Cursor.Hide();

private void button1_MouseLeave(object sender, EventArgs e) =>
    Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
    Cursor.Hide()
End Sub

Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
    Cursor.Show()
End Sub

Contrôle du pointeur de la souris

Parfois, vous pouvez limiter la zone dans laquelle le pointeur de la souris peut être utilisé ou modifier la position de la souris. Vous pouvez obtenir ou définir l’emplacement actuel de la souris à l’aide de la propriété Position du Cursor. En outre, vous pouvez limiter la zone que le pointeur de la souris peut être utilisé pour définir la propriété Clip. La zone clip, par défaut, est l’écran entier.

L’exemple suivant positionne le pointeur de la souris entre deux boutons lorsqu’ils sont cliqués :

private void button1_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button2.Location);

private void button2_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    PointToScreen(Button2.Location)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    PointToScreen(Button1.Location)
End Sub

Modification du pointeur de la souris

La modification du pointeur de la souris est un moyen important de fournir des commentaires à l’utilisateur. Par exemple, le pointeur de la souris peut être modifié dans les gestionnaires des événements MouseEnter et MouseLeave pour indiquer à l’utilisateur que les calculs se produisent et limiter l’interaction utilisateur dans le contrôle. Parfois, le pointeur de la souris change en raison d’événements système, par exemple lorsque votre application est impliquée dans une opération de glisser-déplacer.

La principale façon de modifier le pointeur de la souris consiste à définir la propriété Control.Cursor ou DefaultCursor d’un contrôle sur une nouvelle Cursor. Pour obtenir des exemples de modification du pointeur de la souris, consultez l’exemple de code dans la classe Cursor. En outre, la classe Cursors expose un ensemble d’objets Cursor pour de nombreux types de pointeurs différents, tels qu’un pointeur qui ressemble à une main.

L’exemple suivant modifie le curseur du pointeur de la souris d’un bouton à une main :

button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand

Pour afficher le pointeur d’attente, qui ressemble à un sablier, chaque fois que le pointeur de la souris est sur le contrôle, utilisez la propriété UseWaitCursor de la classe Control.

Voir aussi