Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

DataGridView.ProcessRightKey méthode (Keys)

 

Date de publication : novembre 2016

Traite la touche Droite.

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
protected bool ProcessRightKey(
	Keys keyData
)

Paramètres

keyData
Type: System.Windows.Forms.Keys

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

Valeur de retour

Type: System.Boolean

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

Exception Condition
InvalidCastException

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.

Exception

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é DataGridViewDataErrorEventArgs.ThrowException sur true.

L’exemple de code suivant montre comment modifier le comportement de la touche entrée dans un DataGridView sous-classe en substituant le ProcessDataGridViewKey et ProcessDialogKey méthodes. Dans l’exemple, la touche entrée a le même comportement que la touche droite, facilitant ainsi à un utilisateur de modifier plusieurs cellules dans une seule ligne de données.

public class CustomDataGridView : DataGridView
{
    [System.Security.Permissions.UIPermission(
        System.Security.Permissions.SecurityAction.LinkDemand,
        Window = System.Security.Permissions.UIPermissionWindow.AllWindows)]
    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);
    }

    [System.Security.Permissions.SecurityPermission(
        System.Security.Permissions.SecurityAction.LinkDemand, Flags = 
        System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
    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);
    }
}

SecurityPermission

for calling unmanaged code. Demand value: F:System.Security.Permissions.SecurityAction.LinkDemand. Permission value: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: