Partager via


DataGridView.ProcessRightKey(Keys) Méthode

Définition

Traite la touche Droite.

protected:
 bool ProcessRightKey(System::Windows::Forms::Keys keyData);
protected bool ProcessRightKey (System.Windows.Forms.Keys keyData);
member this.ProcessRightKey : System.Windows.Forms.Keys -> bool
Protected Function ProcessRightKey (keyData As Keys) As Boolean

Paramètres

keyData
Keys

Combinaison d’opérations de bits de valeurs Keys qui représente la ou les touches à traiter.

Retours

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

Exceptions

La flèche droite provoque l’entrée du contrôle en mode édition, mais la propriété EditType de la nouvelle cellule active n’indique pas une classe qui dérive de Control et implémente IDataGridViewEditingControl.

Cette opération permet de valider une valeur de cellule ou d’activer le mode édition, mais une erreur dans la source de données bloque l’opération : soit il n’existe aucun gestionnaire pour l’événement DataError, soit le gestionnaire a défini la propriété ThrowException sur true.

Exemples

L’exemple de code suivant montre comment modifier le comportement de la clé ENTER dans une DataGridView sous-classe en remplaçant les ProcessDataGridViewKey méthodes et ProcessDialogKey . Dans l’exemple, la touche ENTRÉE a le même comportement que la touche FLÈCHE DROITE, ce qui permet à un utilisateur de modifier plus facilement plusieurs cellules 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

S’applique à

Voir aussi