Comportamento predefinito di tastiera e mouse nel controllo DataGridDefault Keyboard and Mouse Behavior in the DataGrid Control

Questo argomento viene descritto come è possibile interagire con il DataGrid controllo usando la tastiera e mouse.This topic describes how users can interact with the DataGrid control by using the keyboard and mouse.

Interazioni tipiche con i DataGrid includono navigazione, selezione e la modifica.Typical interactions with the DataGrid include navigation, selection, and editing. Comportamento di selezione è interessato dal SelectionMode e SelectionUnit proprietà.Selection behavior is affected by the SelectionMode and SelectionUnit properties. I valori predefiniti che causano il comportamento descritto in questo argomento sono DataGridSelectionMode.Extended e DataGridSelectionUnit.FullRow.The default values that cause the behavior described in this topic are DataGridSelectionMode.Extended and DataGridSelectionUnit.FullRow. Modifica di questi valori potrebbe causare un comportamento diverso rispetto a quanto descritto.Changing these values might cause behavior that is different from that described. Quando una cella è in modalità di modifica, il controllo di modifica potrebbe sostituire il comportamento della tastiera standard di DataGrid.When a cell is in edit mode, the editing control might override the standard keyboard behavior of the DataGrid.

Comportamento predefinito della tastieraDefault Keyboard Behavior

La tabella seguente elenca il comportamento predefinito della tastiera per il DataGrid.The following table lists the default keyboard behavior for the DataGrid.

Tasto o combinazioneKey or key combination DescrizioneDescription
Freccia GIÙDOWN ARROW Sposta lo stato attivo alla cella direttamente sotto la cella corrente.Moves the focus to the cell directly below the current cell. Se lo stato attivo è nell'ultima riga, premere il tasto freccia giù non esegue alcuna operazione.If the focus is in the last row, pressing the DOWN ARROW does nothing.
Freccia SUUP ARROW Sposta lo stato attivo per la cella immediatamente sopra la cella corrente.Moves the focus to the cell directly above the current cell. Se lo stato attivo è nella prima riga, premere la freccia non esegue alcuna operazione.If the focus is in the first row, pressing the UP ARROW does nothing.
FRECCIA SINISTRALEFT ARROW Sposta lo stato attivo alla cella nella riga precedente.Moves the focus to the previous cell in the row. Se lo stato attivo è nella prima cella nella riga, premere la freccia sinistra non esegue alcuna operazione.If the focus is in the first cell in the row, pressing the LEFT ARROW does nothing.
FRECCIA DESTRARIGHT ARROW Sposta lo stato attivo alla cella nella riga successiva.Moves the focus to the next cell in the row. Se lo stato attivo è nell'ultima cella nella riga, premere la freccia destra non esegue alcuna operazione.If the focus is in the last cell in the row, pressing the RIGHT ARROW does nothing.
HOMEHOME Sposta lo stato attivo alla prima cella nella riga corrente.Moves the focus to the first cell in the current row.
FINEEND Sposta lo stato attivo all'ultima cella nella riga corrente.Moves the focus to the last cell in the current row.
PGGIÙPAGE DOWN Se non sono raggruppate in righe, scorre verso il basso il controllo per il numero di righe visualizzate in modo completo.If rows are not grouped, scrolls the control downward by the number of rows that are fully displayed. Sposta lo stato attivo per l'ultima riga visualizzata completamente senza modificare le colonne.Moves the focus to the last fully displayed row without changing columns.

Se sono raggruppate le righe, sposta lo stato attivo per l'ultima riga di DataGrid senza modificare le colonne.If rows are grouped, moves the focus to the last row in the DataGrid without changing columns.
PGSUPAGE UP Se non sono raggruppate in righe, consente di scorrere il controllo verso l'alto il numero di righe visualizzate in modo completo.If rows are not grouped, scrolls the control upward by the number of rows that are fully displayed. Spostare lo stato attivo alla prima riga visualizzata senza modificare le colonne.Moves focus to the first displayed row without changing columns.

Se sono raggruppate le righe, sposta lo stato attivo per la prima riga di DataGrid senza modificare le colonne.If rows are grouped, moves the focus to the first row in the DataGrid without changing columns.
TABTAB Sposta lo stato attivo alla cella successiva nella riga corrente.Moves the focus to the next cell in the current row. Se lo stato attivo è nell'ultima cella della riga, sposta lo stato attivo alla prima cella nella riga successiva.If the focus is in the last cell of the row, moves the focus to the first cell in the next row. Se lo stato attivo è nell'ultima cella nel controllo, sposta lo stato attivo al controllo successivo nell'ordine di tabulazione del contenitore padre.If the focus is in the last cell in the control, moves the focus to the next control in the tab order of the parent container.

Se la cella corrente è in modalità di modifica e premendo TAB lo stato attivo per abbandonare la riga corrente, qualsiasi modifica apportata alla riga viene eseguito il commit prima che venga modificato lo stato attivo.If the current cell is in edit mode and pressing TAB causes focus to move away from the current row, any changes that were made to the row are committed before focus is changed.
MAIUSC+TABSHIFT+TAB Sposta lo stato attivo alla cella precedente nella riga corrente.Moves the focus to the previous cell in the current row. Se lo stato attivo è già nella prima cella della riga, sposta lo stato attivo all'ultima cella della riga precedente.If the focus is already in the first cell of the row, moves the focus to the last cell in the previous row. Se lo stato attivo è nella prima cella nel controllo, sposta lo stato attivo al controllo precedente nell'ordine di tabulazione del contenitore padre.If the focus is in the first cell in the control, moves the focus to the previous control in the tab order of the parent container.

Se la cella corrente è in modalità di modifica e premendo TAB lo stato attivo per abbandonare la riga corrente, qualsiasi modifica apportata alla riga viene eseguito il commit prima che venga modificato lo stato attivo.If the current cell is in edit mode and pressing TAB causes focus to move away from the current row, any changes that were made to the row are committed before focus is changed.
CTRL+freccia GIÙCTRL+DOWN ARROW Sposta lo stato attivo all'ultima cella della colonna corrente.Moves the focus to the last cell in the current column.
CTRL+FRECCIA SUCTRL+UP ARROW Sposta lo stato attivo alla prima cella della colonna corrente.Moves the focus to the first cell in the current column.
CTRL+freccia DESTRACTRL+RIGHT ARROW Sposta lo stato attivo all'ultima cella nella riga corrente.Moves the focus to the last cell in the current row.
CTRL+freccia SINISTRACTRL+LEFT ARROW Sposta lo stato attivo alla prima cella nella riga corrente.Moves the focus to the first cell in the current row.
CTRL + HOMECTRL+HOME Sposta lo stato attivo alla prima cella nel controllo.Moves the focus to the first cell in the control.
CTRL + FINECTRL+END Sposta lo stato attivo all'ultima cella nel controllo.Moves the focus to the last cell in the control.
CTRL+PGGIÙCTRL+PAGE DOWN Uguale a PGGIÙ.Same as PAGE DOWN.
CTRL+PGSUCTRL+PAGE UP Uguale a PGSU.Same as PAGE UP.
F2F2 Se il DataGrid.IsReadOnly proprietà false e DataGridColumn.IsReadOnly proprietà false per la colonna corrente, pone la cella corrente in modalità di modifica.If the DataGrid.IsReadOnly property is false and the DataGridColumn.IsReadOnly property is false for the current column, puts the current cell into cell edit mode.
INVIOENTER Esegue il commit di tutte le modifiche alla cella corrente e alla riga e sposta lo stato attivo alla cella direttamente sotto la cella corrente.Commits any changes to the current cell and row and moves the focus to the cell directly below the current cell. Se lo stato attivo è nell'ultima riga, esegue il commit di tutte le modifiche senza spostare lo stato attivo.If the focus is in the last row, commits any changes without moving the focus.
ESCESC Se il controllo è in modalità di modifica, Annulla la modifica e vengono annullate le modifiche apportate nel controllo.If the control is in edit mode, cancels the edit and reverts any changes that were made in the control. Se l'origine dati sottostante implementa IEditableObject, se si preme ESC Annulla la modalità di modifica per l'intera riga.If the underlying data source implements IEditableObject, pressing ESC a second time cancels edit mode for the entire row.
BACKSPACEBACKSPACE Elimina il carattere prima del cursore quando si modifica una cella.Deletes the character before the cursor when editing a cell.
DELETEDELETE Elimina il carattere dopo il cursore quando si modifica una cella.Deletes the character after the cursor when editing a cell.
CTRL+INVIOCTRL+ENTER Esegue il commit di tutte le modifiche alla cella corrente senza spostare lo stato attivo.Commits any changes to the current cell without moving the focus.
CTRL+ACTRL+A Se SelectionMode è impostato su Extended, seleziona tutte le righe di DataGrid.If SelectionMode is set to Extended, selects all rows in the DataGrid.

Tasti di selezioneSelection Keys

Se il SelectionMode è impostata su Extended, non modifica il comportamento di navigazione, ma si sposta con la tastiera tenendo premuto il tasto MAIUSC (CTRL + MAIUSC incluso) verrà modificata una selezione di più righe.If the SelectionMode property is set to Extended, the navigation behavior does not change, but navigating with the keyboard while pressing SHIFT (including CTRL+SHIFT) will modify a multi-row selection. Prima dello spostamento, il controllo Contrassegna la riga corrente come una riga di ancoraggio.Before navigation starts, the control marks the current row as an anchor row. Quando si Esplora premuto il tasto MAIUSC, la selezione include tutte le righe tra la riga di ancoraggio e la riga corrente.When you navigate while pressing SHIFT, the selection includes all rows between the anchor row and the current row.

Le seguenti chiavi selezione modificare la selezione di più righe.The following selection keys modify multi-row selection.

  • MAIUSC+freccia GIÙSHIFT+DOWN ARROW

  • MAIUSC+freccia SUSHIFT+UP ARROW

  • MAIUSC+PGGIÙSHIFT+PAGE DOWN

  • MAIUSC+PGSUSHIFT+PAGE UP

  • CTRL+MAIUSC+freccia GIÙCTRL+SHIFT+DOWN ARROW

  • CTRL+MAIUSC+freccia SUCTRL+SHIFT+UP ARROW

  • CTRL + MAIUSC + HOMECTRL+SHIFT+HOME

  • CTRL + MAIUSC + FINECTRL+SHIFT+END

Comportamento predefinito del MouseDefault Mouse Behavior

La tabella seguente elenca il comportamento predefinito del mouse per il DataGrid.The following table lists the default mouse behavior for the DataGrid.

Azione del mouseMouse action DescrizioneDescription
Fare clic su una riga non selezionataClick an unselected row Rende la riga selezionata la riga corrente e la cella selezionata, la cella corrente.Makes the clicked row the current row, and the clicked cell the current cell.
Fare clic sulla cella correnteClick the current cell Pone la cella corrente in modalità di modifica.Puts the current cell into edit mode.
Trascinare una cella di intestazione di colonnaDrag a column header cell Se il DataGrid.CanUserReorderColumns proprietà true e DataGridColumn.CanUserReorder proprietà true per la colonna corrente, la colonna viene spostata in modo che possono essere eliminato in una nuova posizione.If the DataGrid.CanUserReorderColumns property is true and the DataGridColumn.CanUserReorder property is true for the current column, moves the column so that it can be dropped into a new position.
Trascinare un separatore di intestazione di colonnaDrag a column header separator Se il DataGrid.CanUserResizeColumns proprietà true e DataGridColumn.CanUserResize proprietà true per la colonna corrente, la colonna viene ridimensionata.If the DataGrid.CanUserResizeColumns property is true and the DataGridColumn.CanUserResize property is true for the current column, resizes the column.
Fare doppio clic sul separatore di intestazione di colonnaDouble-click a column header separator Se il DataGrid.CanUserResizeColumns proprietà è true e DataGridColumn.CanUserResize proprietà true per la colonna corrente, ridimensiona automaticamente la colonna con il Auto modalità di ridimensionamento.If the DataGrid.CanUserResizeColumns property is true and the DataGridColumn.CanUserResize property is true for the current column, auto-sizes the column using the Auto sizing mode.
Fare clic su una cella di intestazione di colonnaClick a column header cell Se il DataGrid.CanUserSortColumns proprietà true e DataGridColumn.CanUserSort proprietà true per la colonna corrente, Ordina la colonna.If the DataGrid.CanUserSortColumns property is true and the DataGridColumn.CanUserSort property is true for the current column, sorts the column.

Fare clic sull'intestazione di una colonna già ordinata verrà invertire la direzione di ordinamento della colonna.Clicking the header of a column that is already sorted will reverse the sort direction of that column.

Premere il tasto MAIUSC mentre facendo clic sulle intestazioni di colonna più verrà ordinato in base a più colonne nell'ordine selezionato.Pressing the SHIFT key while clicking multiple column headers will sort by multiple columns in the order clicked.
CTRL + clic su una rigaCTRL+click a row Se SelectionMode è impostato su Extended, viene modificata una selezione di più righe non contigue.If SelectionMode is set to Extended, modifies a non-contiguous multi-row selection.

Se la riga è già selezionata, la riga verrà deselezionata.If the row is already selected, deselects the row.
MAIUSC + clic su una rigaSHIFT+click a row Se SelectionMode è impostato su Extended, viene modificata una selezione di più righe contigua.If SelectionMode is set to Extended, modifies a contiguous multi-row selection.
Fare clic su un'intestazione di gruppo di righeClick a row group header Espande o comprime il gruppo.Expands or collapses the group.
Fare clic sul pulsante Seleziona tutto nell'angolo superiore sinistro del DataGridClick the Select All button at the top left corner of the DataGrid Se SelectionMode è impostato su Extended, seleziona tutte le righe di DataGrid.If SelectionMode is set to Extended, selects all rows in the DataGrid.

Selezione del mouseMouse Selection

Se il SelectionMode è impostata su Extended, fare clic su una riga tenendo premuto CTRL o MAIUSC verrà modificata la selezione di più righe.If the SelectionMode property is set to Extended, clicking a row while pressing CTRL or SHIFT will modify a multi-row selection.

Quando si fa clic su una riga tenendo premuto il tasto CTRL, la riga viene modificato lo stato di selezione mentre tutte le altre righe mantengono lo stato di selezione corrente.When you click a row while pressing CTRL, the row will change its selection state while all other rows retain their current selection state. Questa operazione per selezionare le righe non adiacenti.Do this to select non-adjacent rows.

Quando si fa clic su una riga tenendo premuto il tasto MAIUSC, la selezione include tutte le righe tra la riga corrente e si trova in corrispondenza della posizione della riga corrente prima di fare clic su una riga di ancoraggio.When you click a row while pressing SHIFT, the selection includes all rows between the current row and an anchor row located at the position of the current row prior to the click. Si seleziona il tasto MAIUSC modifica la riga corrente, ma non la riga di ancoraggio.Subsequent clicks while pressing SHIFT change the current row, but not the anchor row. Questa operazione per selezionare un intervallo di righe adiacenti.Do this to select a range of adjacent rows.

CTRL + MAIUSC possono essere combinati per selezionare gli intervalli non adiacenti di righe adiacenti.CTRL+SHIFT can be combined to select non-adjacent ranges of adjacent rows. A tale scopo, selezionare il primo intervallo premendo MAIUSC + clic come descritto in precedenza.To do this, select the first range by using SHIFT+click as described earlier. Dopo aver selezionato il primo intervallo di righe, utilizzare CTRL + clic per selezionare la prima riga nell'intervallo successivo e quindi l'ultima riga nell'intervallo successivo tenendo premuto il tasto CTRL + MAIUSC.After the first range of rows is selected, use CTRL+click to select the first row in the next range, and then click the last row in the next range while pressing CTRL+SHIFT.

Vedere ancheSee Also

DataGrid
SelectionMode