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

Le pointeur de la souris, parfois appelé curseur, est une bitmap qui spécifie un point de focus sur l’écran pour l’entrée utilisateur avec 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.

Important

La documentation du Guide du bureau pour .NET 7 et .NET 6 est en cours de construction.

Accès au pointeur de la souris

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

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 Position propriété du Cursor. En outre, vous pouvez limiter la zone que le pointeur de la souris peut être utilisé pour définir la Clip propriété. 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 MouseEnter événements et MouseLeave pour indiquer à l’utilisateur que les calculs se produisent et pour 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 façon principale de modifier le pointeur de la souris consiste à définir la ou DefaultCursor la Control.Cursor propriété d’un contrôle sur un nouveau Cursor. Pour obtenir des exemples de modification du pointeur de la souris, consultez l’exemple de code dans la Cursor classe. En outre, la Cursors classe 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 se trouve sur le contrôle, utilisez la UseWaitCursor propriété de la Control classe.

Voir aussi