Share via


Gestion des entrées utilisateur

Mise à jour : novembre 2007

Cette rubrique décrit les principaux événements de clavier et de souris fournis par System.Windows.Forms.Control. Lors de la gestion d'un événement, les auteurs de contrôles doivent substituer la méthode OnNomÉvénement protégée plutôt que d'attacher un délégué à l'événement. Pour obtenir une révision des événements, consultez Déclenchement d'événements à partir d'un composant.

Remarque :

S'il n'y a pas de données associées à un événement, une instance de la classe de base EventArgs est passée comme argument à la méthode OnNomÉvénement.

Événements de clavier

Les événements de clavier courants que votre contrôle peut gérer sont KeyDown, KeyPress et KeyUp.

Nom de l'événement

Méthode à substituer

Description de l'événement

KeyDown

void OnKeyDown(KeyEventArgs)

Déclenché uniquement lors du premier appui d'une touche.

KeyPress

void OnKeyPress

(KeyPressEventArgs)

Déclenché à chaque appui d'une touche. Si une touche est maintenue enfoncée, un événement KeyPress est déclenché selon le taux de répétition défini par le système d'exploitation.

KeyUp

void OnKeyUp(KeyEventArgs)

Déclenché lorsqu'une touche est relâchée.

Remarque :

La gestion des entrées au clavier est considérablement plus complexe que la substitution des événements du tableau précédent et n'est pas traitée dans cette rubrique. Pour plus d'informations, consultez Entrées d'utilisateur dans les Windows Forms.

Événements de souris

Les événements de souris que votre contrôle peut gérer sont MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove et MouseUp.

Nom de l'événement

Méthode à substituer

Description de l'événement

MouseDown

void OnMouseDown(MouseEventArgs)

Déclenché lorsque le bouton de la souris est enfoncé alors que le pointeur se trouve sur le contrôle.

MouseEnter

void OnMouseEnter(EventArgs)

Déclenché lorsque le pointeur de la souris pénètre pour la première fois dans la région du contrôle.

MouseHover

void OnMouseHover(EventArgs)

Déclenché lorsque le pointeur de la souris passe sur le contrôle.

MouseLeave

void OnMouseLeave(EventArgs)

Déclenché lorsque le pointeur de la souris quitte la région du contrôle.

MouseMove

void OnMouseMove(MouseEventArgs)

Déclenché lorsque le pointeur de la souris se déplace dans la région du contrôle.

MouseUp

void OnMouseUp(MouseEventArgs)

Déclenché lorsque le bouton de la souris est relâché alors que le pointeur se trouve sur le contrôle ou quitte la région du contrôle.

Le fragment de code suivant montre un exemple de substitution de l'événement MouseDown.

Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
    MyBase.OnMouseDown(e)
    If Not (myAllowUserEdit) Then
        Return
    End If
    Capture = True
    dragging = True
    SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseDown(MouseEventArgs e) {
    base.OnMouseDown(e);
    if (!allowUserEdit) {
        return;
    }
    Capture = true;
    dragging = true;
    SetDragValue(new Point(e.X, e.Y));
}

Le fragment de code suivant montre un exemple de substitution de l'événement MouseMove.

Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
    MyBase.OnMouseMove(e)
    If (Not myAllowUserEdit Or Not dragging) Then
        Return
    End If
    SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseMove(MouseEventArgs e) {
    base.OnMouseMove(e);
    if (!allowUserEdit || !dragging) {
        return;
    }
    SetDragValue(new Point(e.X, e.Y));
}

Le fragment de code suivant montre un exemple de substitution de l'événement MouseUp.

Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
    MyBase.OnMouseUp(e)
    If (Not myAllowUserEdit Or Not dragging) Then
        Return
    End If
    Capture = False
    dragging = False
    Value = dragValue
    OnValueChanged(EventArgs.Empty)
End Sub
protected override void OnMouseUp(MouseEventArgs e) {
    base.OnMouseUp(e);
    if (!allowUserEdit || !dragging) {
        return;
    }
    Capture = false;
    dragging = false;
    value = dragValue;
    OnValueChanged(EventArgs.Empty);
}

Pour obtenir le code source complet pour l'exemple FlashTrackBar, consultez Comment : créer un contrôle Windows Forms qui affiche la progression.

Voir aussi

Concepts

Événements dans les contrôles Windows Forms

Définition d'un événement dans les contrôles Windows Forms

Autres ressources

Gestion et déclenchement d'événements

Entrées d'utilisateur dans les Windows Forms