DataGridView.ProcessDataGridViewKey(KeyEventArgs) Méthode

Définition

Traite les clés utilisées pour naviguer dans le DataGridView.

protected:
 virtual bool ProcessDataGridViewKey(System::Windows::Forms::KeyEventArgs ^ e);
protected virtual bool ProcessDataGridViewKey(System.Windows.Forms.KeyEventArgs e);
abstract member ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
override this.ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
Protected Overridable Function ProcessDataGridViewKey (e As KeyEventArgs) As Boolean

Paramètres

e
KeyEventArgs

Contient des informations sur la touche qui a été enfoncée.

Retours

true si la clé a été traitée ; sinon, false.

Exceptions

La touche enfoncée entraîne l’entrée du contrôle en mode édition, mais la EditType propriété de la cellule active n’indique pas de classe qui dérive Control et implémente IDataGridViewEditingControl.

Cette action validerait une valeur de cellule ou entrerait en mode d’édition, mais une erreur dans la source de données empêche l’action et il n’existe aucun gestionnaire pour l’événement DataError ou le gestionnaire a défini la ThrowException propriété truesur .

- ou -

La clé DELETE supprime une ou plusieurs lignes, mais une erreur dans la source de données empêche la suppression et il n’existe aucun gestionnaire pour l’événement DataError ou le gestionnaire a défini la ThrowException propriété truesur .

Exemples

L’exemple de code suivant montre comment modifier le comportement de la clé ENTER dans une DataGridView sous-classe en remplaçant les méthodes et ProcessDataGridViewKey les ProcessDialogKey méthodes. Dans l’exemple, la touche ENTRÉE a le même comportement que la touche FLÈCHE DROITE, ce qui facilite la modification de plusieurs cellules par un utilisateur dans une seule ligne de données.

public class CustomDataGridView : DataGridView
{
    protected override bool ProcessDialogKey(Keys keyData)
    {
        // Extract the key code from the key value. 
        Keys key = (keyData & Keys.KeyCode);

        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (key == Keys.Enter)
        {
            return this.ProcessRightKey(keyData);
        }
        return base.ProcessDialogKey(keyData);
    }

    protected override bool ProcessDataGridViewKey(KeyEventArgs e)
    {
        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (e.KeyCode == Keys.Enter)
        {
            return this.ProcessRightKey(e.KeyData);
        }
        return base.ProcessDataGridViewKey(e);
    }
}
Public Class CustomDataGridView
    Inherits DataGridView

    <System.Security.Permissions.UIPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, _
        Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _
    Protected Overrides Function ProcessDialogKey( _
        ByVal keyData As Keys) As Boolean

        ' Extract the key code from the key value. 
        Dim key As Keys = keyData And Keys.KeyCode

        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If key = Keys.Enter Then
            Return Me.ProcessRightKey(keyData)
        End If

        Return MyBase.ProcessDialogKey(keyData)

    End Function

    <System.Security.Permissions.SecurityPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, Flags:= _
        System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
    Protected Overrides Function ProcessDataGridViewKey( _
        ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean

        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If e.KeyCode = Keys.Enter Then
            Return Me.ProcessRightKey(e.KeyData)
        End If

        Return MyBase.ProcessDataGridViewKey(e)

    End Function

End Class

Remarques

Cette méthode appelle la méthode de traitement des touches appropriée à la touche enfoncée (par exemple, la ProcessF2Key méthode lorsque F2 est enfoncée) et retourne la valeur de retour de cette méthode.

Notes pour les héritiers

En cas de substitution de cette méthode, un contrôle doit retourner true pour indiquer qu’il a traité la clé. Pour les clés qui ne sont pas traitées par le contrôle, retournez le résultat de la version de base de cette méthode.

S’applique à

Voir aussi