Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le tabelle seguenti descrivono come gli utenti possono interagire con il DataGridView controllo tramite una tastiera e un mouse.
Annotazioni
Per personalizzare il comportamento della tastiera, è possibile gestire eventi della tastiera standard, KeyDownad esempio . In modalità di modifica, tuttavia, il controllo di modifica ospitato riceve l'input della tastiera e gli eventi della tastiera non si verificano per il DataGridView controllo. Per gestire gli eventi di controllo di modifica, collegare i gestori al controllo di modifica in un EditingControlShowing gestore eventi. In alternativa, è possibile personalizzare il comportamento della tastiera in una DataGridView sottoclasse eseguendo l'override dei ProcessDialogKey metodi e ProcessDataGridViewKey .
Gestione predefinita della tastiera
Tasti di spostamento e immissione di base
| Chiave o combinazione di tasti | Descrizione |
|---|---|
| Freccia GIÙ | Sposta il cursore sulla cella sotto quella attuale. Se lo stato attivo si trova nell'ultima riga, non esegue alcuna operazione. |
| freccia sinistra | Sposta il focus sulla cella precedente della riga. Se lo stato attivo si trova nella prima cella della riga, non esegue alcuna operazione. |
| freccia destra | Sposta lo stato attivo sulla cella successiva della riga. Se lo stato attivo si trova nell'ultima cella della riga, non esegue alcuna operazione. |
| Freccia SU | Sposta il cursore sulla cella direttamente sopra la cella corrente. Se il focus si trova nella prima riga, non fa nulla. |
| Casa | Sposta lo stato attivo sulla prima cella della riga corrente. |
| Fine | Sposta il focus sull'ultima cella della riga corrente. |
| Pagina giù | Scorre il controllo verso il basso in base al numero di righe visualizzate completamente. Sposta il focus sull'ultima riga completamente visualizzata senza modificare le colonne. |
| Pagina su | Scorre il controllo verso l'alto in base al numero di righe completamente visualizzate. Sposta il focus sulla prima riga visualizzata senza modificare le colonne. |
| Scheda | Se il valore della StandardTab proprietà è false, sposta il focus sulla cella successiva nella riga corrente. Se lo stato attivo è già nell'ultima cella della riga, sposta lo stato attivo sulla prima cella della riga successiva. Se il focus si trova nell'ultima cella del controllo, sposta il focus sul controllo successivo nell'ordine di tabulazione del contenitore padre.Se il valore della StandardTab proprietà è true, sposta lo stato attivo sul controllo successivo nell'ordine di tabulazione del contenitore padre. |
| Spostare + Scheda | Se il valore della proprietà StandardTab è false, sposta il focus sulla cella precedente nella riga corrente. Se lo stato attivo si trova già nella prima cella della riga, sposta lo stato attivo sull'ultima cella della riga precedente. Se lo stato attivo si trova sulla prima cella del controllo, sposta lo stato attivo sul controllo precedente nella sequenza di tabulazione del contenitore padre.Se il valore della proprietà StandardTab è true, sposta il focus sul controllo precedente nella sequenza di tabulazione del contenitore padre. |
| CTRL + Tab | Se il valore della StandardTab proprietà è false, sposta lo stato attivo sul controllo successivo nell'ordine di tabulazione del contenitore padre.Se il valore della StandardTab proprietà è true, sposta il focus sulla cella successiva nella riga corrente. Se lo stato attivo è già nell'ultima cella della riga, sposta lo stato attivo sulla prima cella della riga successiva. Se il focus si trova nell'ultima cella del controllo, sposta il focus sul controllo successivo nell'ordine di tabulazione del contenitore padre. |
| Ctrl + Spostare + Scheda | Se il valore della proprietà StandardTab è false, sposta il focus sul controllo precedente nella sequenza di tabulazione del contenitore padre.Se il valore della proprietà StandardTab è true, sposta il focus sulla cella precedente nella riga corrente. Se lo stato attivo si trova già nella prima cella della riga, sposta lo stato attivo sull'ultima cella della riga precedente. Se lo stato attivo si trova sulla prima cella del controllo, sposta lo stato attivo sul controllo precedente nella sequenza di tabulazione del contenitore padre. |
| Ctrl + freccia | Porta il focus sulla cella più lontana nella direzione della freccia. |
| CTRL + Home | Sposta il focus sulla prima cella del controllo. |
| CTRL + Fine | Sposta il focus sull'ultima cella del controllo. |
| Ctrl + Pagina giù/su | Uguale a Pagina giù o Pagina su. |
| F2 | Inserisce la cella corrente in modalità di modifica della cella se il valore della EditMode proprietà è EditOnF2 o EditOnKeystrokeOrF2. |
| F3 | Ordina la colonna corrente se il valore della DataGridViewColumn.SortMode proprietà è Automatic. È lo stesso che fare clic sull'intestazione della colonna corrente. Disponibile a partire da .NET Framework 4.7.2. Per abilitare questa funzionalità, le applicazioni devono avere come destinazione .NET Framework 4.7.2 o versioni successive o acconsentire esplicitamente ai miglioramenti dell'accessibilità usando le opzioni AppContext. |
| F4 | Se la cella corrente è DataGridViewComboBoxCell, la cella viene impostata in modalità di modifica e viene visualizzato l'elenco a discesa. |
| Alt + Freccia SU/GIÙ | Se la cella corrente è DataGridViewComboBoxCell, la cella viene impostata in modalità di modifica e viene visualizzato l'elenco a discesa. |
| Alt + Freccia sinistra/destra | Aumenta o riduce la larghezza della colonna della cella attuale. |
| Spazio | Se la cella corrente è un DataGridViewButtonCell, un DataGridViewLinkCell o un DataGridViewCheckBoxCell, genera gli eventi CellClick e CellContentClick. Se la cella corrente è un DataGridViewButtonCell, preme anche il pulsante. Se la cella corrente è un oggetto DataGridViewCheckBoxCell, cambia anche lo stato di controllo. |
| Immettere | Applica le modifiche alla cella e alla riga correnti e sposta l'attenzione sulla cella immediatamente sotto quella corrente. Se il cursore si trova nell'ultima riga, applica eventuali modifiche senza spostarlo. |
| ESC | Se il controllo è in modalità di modifica, annulla la modifica. Se il controllo non è in modalità di modifica, ripristina tutte le modifiche apportate alla riga corrente se il controllo è associato a un'origine dati che supporta la modifica o la modalità virtuale è stata implementata con ambito di commit a livello di riga. |
| Backspace | Elimina il carattere prima del punto di inserimento durante la modifica di una cella. |
| Elimina | Elimina il carattere dopo il punto di inserimento durante la modifica di una cella. |
| CTRL + INVIO | Esegue il commit delle modifiche apportate alla cella corrente senza spostare il focus. Conferma inoltre le modifiche apportate alla riga corrente se il controllo è associato a un'origine dati che supporta la modifica o se la modalità virtuale è stata implementata con un ambito di conferma a livello di riga. |
| CTRL + 0 | Immette un DBNull.Value valore nella cella corrente se la cella può essere modificata. Per impostazione predefinita, il valore visualizzato del valore di una cella DBNull è il valore della proprietà NullValue applicata dalla DataGridViewCellStyle per la cella corrente. |
Tasti di selezione
Se la MultiSelect proprietà è impostata su false e la SelectionMode proprietà è impostata su CellSelect, la modifica della cella corrente tramite i tasti di spostamento modifica la selezione nella nuova cella. I tasti MAIUSC, CTRL e ALT non influiscono su questo comportamento.
SelectionMode Se è impostato su RowHeaderSelect o ColumnHeaderSelect, si verifica lo stesso comportamento, ma con le aggiunte seguenti.
| Chiave o combinazione di tasti | Descrizione |
|---|---|
| Spostare + Barra spaziatrice | Seleziona la riga o la colonna completa (uguale a fare clic sull'intestazione di riga o colonna). |
| tasto di spostamento (tasto freccia, pagina su/giù, Home, Fine) | Se è selezionata una riga o una colonna completa, la modifica della cella corrente in una nuova riga o colonna sposta la selezione nella nuova riga o colonna completa ,a seconda della modalità di selezione. |
Se MultiSelect è impostato su false e SelectionMode è impostato su FullRowSelect o FullColumnSelect, se si modifica la cella corrente a una nuova riga o colonna tramite la tastiera, la selezione viene spostata nella nuova riga o colonna completa. I tasti MAIUSC, CTRL e ALT non influiscono su questo comportamento.
Se MultiSelect è impostato su true, il comportamento di spostamento non cambia, ma lo spostamento con la tastiera mentre si preme MAIUSC (incluso CTRL + MAIUSC) modificherà una selezione a più celle. Prima dell'inizio della navigazione, il controllo contrassegna la cella corrente come cella di ancoraggio. Quando si naviga premendo MAIUSC, la selezione include tutte le celle tra la cella di partenza e la cella corrente. Le altre celle del controllo rimarranno selezionate se sono già selezionate, ma potrebbero diventare deselezionate se lo spostamento tramite tastiera li inserisce temporaneamente tra la cella di ancoraggio e la cella corrente.
Se MultiSelect è impostato su true e SelectionMode è impostato su FullRowSelect o FullColumnSelect, il comportamento della cella di ancoraggio e della cella corrente è lo stesso, ma solo le righe o le colonne complete vengono selezionate o deselezionate.
Gestione predefinita del mouse
Gestione del mouse di base
Annotazioni
Facendo clic su una cella con il pulsante sinistro del mouse viene sempre modificata la cella corrente. Facendo clic su una cella con il pulsante destro del mouse si apre un menu di scelta rapida, quando ne è disponibile uno.
| Azione del mouse | Descrizione |
|---|---|
| Pulsante sinistro del mouse verso il basso | Rende la cella selezionata la cella corrente e genera l'evento DataGridView.CellMouseDown . |
| Rilasciare il pulsante sinistro del mouse | Genera l'evento DataGridView.CellMouseUp |
| Fare clic sul pulsante sinistro del mouse | Genera gli eventi DataGridView.CellClick e DataGridView.CellMouseClick |
| Premi il pulsante sinistro del mouse e trascina su una cella dell'intestazione della colonna | Se la DataGridView.AllowUserToOrderColumns proprietà è true, sposta la colonna in modo che possa essere posizionata in una nuova posizione. |
Selezione del mouse
Nessun comportamento di selezione è associato al pulsante centrale del mouse o alla rotellina del mouse.
Se la MultiSelect proprietà è impostata su false e la SelectionMode proprietà è impostata su CellSelect, si verifica il comportamento seguente.
| Azione del mouse | Descrizione |
|---|---|
| Fai clic | Seleziona solo la cella corrente se l'utente fa clic su una cella. Nessun comportamento di selezione se l'utente fa clic su un'intestazione di riga o di colonna. |
| Fare clic con il pulsante destro del mouse su | Visualizza un menu di scelta rapida, se disponibile. |
Lo stesso comportamento si verifica quando SelectionMode è impostato su RowHeaderSelect o ColumnHeaderSelect, ad eccezione del fatto che, a seconda della modalità di selezione, facendo clic su una riga o un'intestazione di colonna verrà selezionata la riga o la colonna completa e la cella corrente verrà impostata sulla prima cella della riga o della colonna.
Se SelectionMode è impostato su FullRowSelect o FullColumnSelect, facendo clic su una cella in una riga o colonna verrà selezionata la riga o la colonna completa.
Se MultiSelect è impostato su true, facendo clic su una cella premendo CTRL o MAIUSC verrà modificata una selezione a più celle.
Quando si fa clic su una cella premendo CTRL, la cella cambia lo stato di selezione mentre tutte le altre celle mantengono lo stato di selezione corrente.
Quando si fa clic su una cella o su una serie di celle premendo MAIUSC, la selezione include tutte le celle tra la cella corrente e una cella di ancoraggio che si trova nella posizione della cella corrente prima del primo clic. Quando si fa clic e si trascina il puntatore su più celle, la cella di ancoraggio viene selezionata all'inizio dell'operazione di trascinamento. I clic successivi mentre si preme Shift modificano la cella corrente, ma non la cella di ancoraggio. Le altre celle del controllo rimarranno selezionate se sono già state selezionate, ma potrebbero diventare deselezionate se lo spostamento del mouse li inserisce temporaneamente tra la cella di ancoraggio e la cella corrente.
Se MultiSelect è impostato su e true è impostato SelectionMode su RowHeaderSelect o ColumnHeaderSelect, facendo clic su una riga o un'intestazione di colonna (a seconda della modalità di selezione) mentre si preme MAIUSC verrà modificata una selezione esistente di righe o colonne complete, se tale selezione esiste. In caso contrario, cancella la selezione e avvia una nuova selezione di righe o colonne complete. Se si fa clic su un'intestazione di riga o colonna premendo CTRL, tuttavia, si aggiunge o si rimuove la riga o la colonna selezionata dalla selezione corrente senza modificare altrimenti la selezione corrente.
Se MultiSelect è impostato su true e SelectionMode è impostato su FullRowSelect o FullColumnSelect, facendo clic su una cella premendo MAIUSC o CTRL si comporta allo stesso modo, ad eccezione del fatto che solo le righe e le colonne complete sono interessate.
Vedere anche
.NET Desktop feedback