Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les tableaux suivants décrivent comment les utilisateurs peuvent interagir avec le DataGridView contrôle via un clavier et une souris.
Remarque
Pour personnaliser le comportement du clavier, vous pouvez gérer des événements de clavier standard tels que KeyDown. En mode Édition, toutefois, le contrôle d’édition hébergé reçoit les saisies clavier, et les événements de clavier ne se produisent pas pour le contrôle DataGridView. Pour gérer la modification des événements de contrôle, attachez vos gestionnaires au contrôle d’édition dans un gestionnaire d’événements EditingControlShowing . Vous pouvez également personnaliser le comportement du clavier dans une DataGridView sous-classe en remplaçant les méthodes ProcessDialogKey et ProcessDataGridViewKey.
Gestion du clavier par défaut
Touches de navigation et d’entrée de base
Touche ou combinaison de touches | Descriptif |
---|---|
Flèche bas | Déplace le focus vers la cellule directement sous la cellule actuelle. Si le focus se trouve dans la dernière ligne, ne fait rien. |
Flèche gauche | Déplace le curseur sur la cellule précédente de la ligne. Si le focus se trouve dans la première cellule de la ligne, ne fait rien. |
Flèche droite | Déplace le focus sur la cellule suivante de la ligne. Si le focus se trouve dans la dernière cellule de la ligne, ne fait rien. |
Flèche vers le haut | Déplace le focus vers la cellule située directement au-dessus de la cellule actuelle. Lorsque le focus se trouve dans la première rangée, ne fait rien. |
Accueil | Déplace le focus sur la première cellule de la ligne actuelle. |
Fin | Déplace le focus vers la dernière cellule de la ligne actuelle. |
Page bas | Fait défiler le contrôle vers le bas en fonction du nombre de lignes qui sont entièrement affichées. Déplace le focus sur la dernière ligne entièrement affichée sans modifier les colonnes. |
Page haut | Fait défiler le contrôle vers le haut selon le nombre de lignes entièrement affichées. Déplace le focus sur la première ligne affichée sans modifier les colonnes. |
Onglet | Si la valeur de la propriété StandardTab est false , déplace le curseur vers la cellule suivante de la ligne en cours. Si le focus se trouve déjà dans la dernière cellule de la ligne, déplace le focus sur la première cellule de la ligne suivante. Si le focus se trouve dans la dernière cellule du contrôle, déplace le focus vers le contrôle suivant dans l'ordre de tabulation du conteneur parent.Si la valeur de propriété StandardTab est true , déplace le focus vers le contrôle suivant dans l’ordre de tabulation du conteneur parent. |
Maj + Tab | Si la valeur de la propriété StandardTab est false , déplace le focus vers la cellule précédente de la ligne courante. Si le focus se trouve déjà dans la première cellule de la ligne, déplace le focus sur la dernière cellule de la ligne précédente. Si le focus est dans la première cellule du contrôle, il déplace le focus vers le contrôle précédent dans l’ordre de tabulation du conteneur parent.Si la propriété StandardTab a pour valeur true , déplace le focus vers le contrôle précédent dans l'ordre de tabulation du conteneur parent. |
Ctrl + Onglet | Si la valeur de propriété StandardTab est false , déplace le focus vers le contrôle suivant dans l’ordre de tabulation du conteneur parent.Si la valeur de la propriété StandardTab est true , déplace le curseur vers la cellule suivante de la ligne en cours. Si le focus se trouve déjà dans la dernière cellule de la ligne, déplace le focus sur la première cellule de la ligne suivante. Si le focus se trouve dans la dernière cellule du contrôle, déplace le focus vers le contrôle suivant dans l'ordre de tabulation du conteneur parent. |
Ctrl + Maj + Tab | Si la propriété StandardTab a pour valeur false , déplace le focus vers le contrôle précédent dans l'ordre de tabulation du conteneur parent.Si la valeur de la propriété StandardTab est true , déplace le focus vers la cellule précédente de la ligne courante. Si le focus se trouve déjà dans la première cellule de la ligne, déplace le focus sur la dernière cellule de la ligne précédente. Si le focus est dans la première cellule du contrôle, il déplace le focus vers le contrôle précédent dans l’ordre de tabulation du conteneur parent. |
Ctrl + flèche | Déplace le focus vers la cellule la plus éloignée dans la direction de la flèche. |
Ctrl + Début | Déplace le focus sur la première cellule du contrôle. |
Ctrl + Fin | Déplace le focus sur la dernière cellule du contrôle. |
Ctrl + Page vers le bas/haut | Identique à Page vers le bas ou Page vers le haut. |
F2 | Place la cellule active en mode d’édition de cellule si la valeur de la EditMode propriété est EditOnF2 ou EditOnKeystrokeOrF2. |
F3 | Trie la colonne actuelle si la valeur de la DataGridViewColumn.SortMode propriété est Automatic. C'est la même chose que cliquer sur l'en-tête de colonne en cours. Disponible depuis .NET Framework 4.7.2. Pour activer cette fonctionnalité, les applications doivent cibler .NET Framework 4.7.2 ou versions ultérieures ou choisir explicitement d’améliorer l’accessibilité à l’aide de commutateurs AppContext. |
F4 | Si la cellule active est une DataGridViewComboBoxCell, la cellule passe en mode édition et affiche la liste déroulante. |
Alt + Flèche haut/bas | Si la cellule active est une DataGridViewComboBoxCell, la cellule passe en mode édition et affiche la liste déroulante. |
Alt + Flèche gauche/droite | Augmente ou diminue la largeur de la colonne de la cellule actuelle. |
Espace | Si la cellule actuelle est une DataGridViewButtonCell, DataGridViewLinkCell, ou DataGridViewCheckBoxCell, déclenche les événements CellClick et CellContentClick. Si la cellule actuelle est une DataGridViewButtonCell, appuie également sur le bouton. Si la cellule actuelle est une DataGridViewCheckBoxCell, cela change également l'état d'activation. |
Entrée | Valide les modifications apportées à la cellule actuelle et à la ligne actuelle, puis déplace le focus vers la cellule située directement sous la cellule actuelle. Si le curseur se trouve dans la dernière ligne, valide les modifications sans déplacer le curseur. |
Échap | Si le contrôle est en mode édition, annule la modification. Si le contrôle n’est pas en mode édition, annule les modifications apportées à la ligne actuelle si le contrôle est lié à une source de données qui prend en charge les modifications ou si le mode virtuel a été implémenté avec une portée de validation au niveau des lignes. |
Retour arrière | Supprime le caractère avant le point d’insertion lors de la modification d’une cellule. |
Supprimer | Supprime le caractère après le point d’insertion lors de la modification d’une cellule. |
Ctrl + Entrée | Valide les modifications apportées à la cellule actuelle sans déplacer le point de focus. Confirme également les modifications apportées à la ligne actuelle si le contrôle est connecté à une source de données qui permet la modification de données, ou si le mode virtuel a été implémenté avec l’étendue de validation à l’échelle des lignes. |
Ctrl + 0 | Insère une DBNull.Value valeur dans la cellule actuelle si la cellule peut être modifiée. Par défaut, la valeur d'affichage pour une DBNull cellule est la valeur de la propriété NullValue de la DataGridViewCellStyle en vigueur pour la cellule actuelle. |
Touches de sélection
Si la MultiSelect propriété est définie sur false
et que la SelectionMode propriété est définie sur CellSelect, la modification de la cellule actuelle à l’aide des touches de navigation modifie la sélection vers la nouvelle cellule. Les touches Maj, Ctrl et Alt n’affectent pas ce comportement.
Si la SelectionMode valeur est définie RowHeaderSelect ou ColumnHeaderSelect, le même comportement se produit mais avec les ajouts suivants.
Touche ou combinaison de touches | Descriptif |
---|---|
Maj + Barre d’espace | Sélectionne la ligne ou la colonne complète (identique au fait de cliquer sur l’en-tête de ligne ou de colonne). |
touche de navigation (touche de direction, Page vers le haut/bas, Accueil, Fin) | Si une ligne ou une colonne complète est sélectionnée, la modification de la cellule active en une nouvelle ligne ou colonne déplace la sélection vers la nouvelle ligne ou colonne complète (en fonction du mode de sélection). |
Si MultiSelect est défini sur false
et SelectionMode est défini sur FullRowSelect ou FullColumnSelect, changer la cellule active en une nouvelle ligne ou colonne à l'aide du clavier déplace la sélection vers la ligne ou colonne complète nouvellement sélectionnée. Les touches Maj, Ctrl et Alt n’affectent pas ce comportement.
S'il MultiSelect est défini sur true
, le comportement de navigation ne change pas, mais naviguer avec le clavier en appuyant sur Maj (y compris Ctrl + Maj) modifie la sélection de plusieurs cellules. Avant le début de la navigation, le contrôle marque la cellule active comme cellule d’ancrage. Lorsque vous naviguez en appuyant sur Maj, la sélection inclut toutes les cellules entre la cellule d’ancrage et la cellule active. Les autres cellules du contrôle restent sélectionnées si elles ont déjà été sélectionnées, mais elles peuvent ne pas être sélectionnées si la navigation au clavier les place temporairement entre la cellule d’ancrage et la cellule active.
Si MultiSelect est défini sur true
et SelectionMode est défini sur FullRowSelect ou FullColumnSelect, le comportement de la cellule d’ancrage et cellule active est le même, mais seules les lignes ou colonnes complètes deviennent sélectionnées ou désélectionnées.
Gestion de la souris par défaut
Gestion de base de la souris
Remarque
Cliquer sur une cellule avec le bouton gauche de la souris modifie toujours la cellule active. Le fait de cliquer sur une cellule avec le bouton droit de la souris ouvre un menu contextuel, lorsqu’une cellule est disponible.
Action de la souris | Descriptif |
---|---|
Bouton gauche de la souris vers le bas | Rend la cellule cliquée la cellule courante et déclenche l’événement DataGridView.CellMouseDown. |
Bouton gauche de la souris vers le haut | Déclenche l’événement DataGridView.CellMouseUp |
Cliquez sur le bouton gauche de la souris | Déclenche les événements DataGridView.CellClick et DataGridView.CellMouseClick. |
Maintenez le bouton gauche de la souris enfoncé et faites glisser sur une cellule d'en-tête de colonne. | Si la DataGridView.AllowUserToOrderColumns propriété est true , déplace la colonne pour qu'elle puisse être positionnée à un nouvel emplacement. |
Sélection de la souris
Aucun comportement de sélection n’est associé au bouton central de la souris ou à la roulette de la souris.
Si la propriété MultiSelect est définie sur false
et que la propriété SelectionMode est définie sur CellSelect, le comportement suivant se produit.
Action de la souris | Descriptif |
---|---|
Cliquer | Sélectionne uniquement la cellule active si l’utilisateur clique sur une cellule. Aucun comportement de sélection si l’utilisateur clique sur une ligne ou un en-tête de colonne. |
Cliquer avec le bouton droit | Affiche un menu contextuel si disponible. |
Le même comportement se produit lorsque la SelectionMode est définie sur RowHeaderSelect ou ColumnHeaderSelect, sauf que, selon le mode de sélection, cliquer sur un en-tête de ligne ou de colonne sélectionne la ligne ou la colonne complète et définit la cellule courante sur la première cellule de la ligne ou de la colonne.
Si SelectionMode est défini sur FullRowSelect ou FullColumnSelect, le fait de cliquer sur une cellule d'une ligne ou d'une colonne sélectionnera la ligne ou la colonne entière.
Si MultiSelect est défini sur true
, cliquer sur une cellule tout en maintenant Ctrl ou Maj modifiera une sélection de plusieurs cellules.
Lorsque vous cliquez sur une cellule en appuyant sur Ctrl, la cellule modifie son état de sélection tandis que toutes les autres cellules conservent leur état de sélection actuel.
Lorsque vous cliquez sur une cellule ou une série de cellules en appuyant sur Maj, la sélection inclut toutes les cellules entre la cellule active et une cellule d’ancrage située à la position de la cellule active avant le premier clic. Lorsque vous cliquez et faites glisser le pointeur sur plusieurs cellules, la cellule d’ancrage est la cellule cliquée au début de l’opération de glisser. Les clics suivants tout en appuyant sur la touche Maj modifient la cellule active, mais pas la cellule d’ancrage. Les autres cellules du contrôle restent sélectionnées si elles ont déjà été sélectionnées, mais elles peuvent devenir désélectionnées si la navigation de la souris les place temporairement entre la cellule d’ancrage et la cellule active.
Si MultiSelect est défini sur true
et SelectionMode est défini sur RowHeaderSelect ou ColumnHeaderSelect, en cliquant sur un en-tête de ligne ou de colonne (selon le mode de sélection) tout en appuyant sur Maj, cela modifiera une sélection existante de lignes ou de colonnes complètes si une sélection existe. Sinon, il efface la sélection et démarre une nouvelle sélection de lignes ou de colonnes complètes. En cliquant sur une ligne ou un en-tête de colonne en appuyant sur Ctrl, toutefois, ajoutez ou supprimez la ligne ou la colonne cliquée de la sélection actuelle sans modifier la sélection actuelle.
Si MultiSelect est défini sur true
et SelectionMode est défini sur FullRowSelect ou FullColumnSelect, cliquer sur une cellule tout en appuyant sur Maj ou Ctrl se comporte de la même manière, sauf que seules les lignes et colonnes complètes sont affectées.
Voir aussi
.NET Desktop feedback