Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En las tablas siguientes se describe cómo los usuarios pueden interactuar con el DataGridView control a través de un teclado y un mouse.
Nota:
Para personalizar el comportamiento del teclado, puede controlar eventos de teclado estándar como KeyDown. Sin embargo, en modo de edición, el control de edición hospedado recibe la entrada del teclado y los eventos de teclado no se producen para el DataGridView control. Para gestionar los eventos de control de edición, adjunte sus controladores al control de edición dentro de un controlador de eventos EditingControlShowing. Como alternativa, puede personalizar el comportamiento del teclado en una DataGridView subclase reemplazando los ProcessDialogKey métodos y ProcessDataGridViewKey .
Control de teclado predeterminado
Teclas de entrada y navegación básicas
Tecla o combinación de teclas | Descripción |
---|---|
Flecha abajo | Mueve el foco a la celda directamente debajo de la celda actual. Si el foco está en la última fila, no hace nada. |
flecha izquierda | Mueve el foco a la celda anterior de la fila. Si el foco está en la primera celda de la fila, no hace nada. |
flecha derecha | Mueve el foco a la celda siguiente de la fila. Si el foco está en la última celda de la fila, no hace nada. |
Flecha arriba | Mueve el foco a la celda directamente encima de la celda actual. Si el foco está en la primera fila, no hace nada. |
Inicio | Mueve el foco a la primera celda de la fila actual. |
Fin | Mueve el foco a la última celda de la fila actual. |
Av. pág. | Desplaza el control hacia abajo por el número de filas que se muestran completamente. Mueve el foco a la última fila totalmente mostrada sin cambiar las columnas. |
Re. pág. | Desplaza el control hacia arriba por el número de filas que se muestran completamente. Mueve el foco a la primera fila mostrada sin cambiar las columnas. |
Pestaña | Si el valor de la StandardTab propiedad es false , mueve el foco a la celda siguiente de la fila actual. Si el foco ya está en la última celda de la fila, mueve el foco a la primera celda de la fila siguiente. Si el foco está en la última celda del control, mueve el foco al siguiente control en el orden de tabulación del contenedor primario.Si el valor de la StandardTab propiedad es true , mueve el foco al siguiente control en el orden de tabulación del contenedor primario. |
Mayús + Tabulador | Si el valor de la StandardTab propiedad es false , mueve el foco a la celda anterior de la fila actual. Si el foco ya está en la primera celda de la fila, mueve el foco a la última celda de la fila anterior. Si el foco está en la primera celda del control, mueve el foco al control anterior en el orden de tabulación del contenedor primario.Si el valor de la StandardTab propiedad es true , mueve el foco al control anterior en el orden de tabulación del contenedor primario. |
Ctrl + Pestaña | Si el valor de la StandardTab propiedad es false , mueve el foco al siguiente control en el orden de tabulación del contenedor primario.Si el valor de la StandardTab propiedad es true , mueve el foco a la celda siguiente de la fila actual. Si el foco ya está en la última celda de la fila, mueve el foco a la primera celda de la fila siguiente. Si el foco está en la última celda del control, mueve el foco al siguiente control en el orden de tabulación del contenedor primario. |
Ctrl + Shift + Tabulador | Si el valor de la StandardTab propiedad es false , mueve el foco al control anterior en el orden de tabulación del contenedor primario.Si el valor de la StandardTab propiedad es true , mueve el foco a la celda anterior de la fila actual. Si el foco ya está en la primera celda de la fila, mueve el foco a la última celda de la fila anterior. Si el foco está en la primera celda del control, mueve el foco al control anterior en el orden de tabulación del contenedor primario. |
Ctrl + flecha | Mueve el foco a la celda más lejana en la dirección de la flecha. |
Ctrl + Inicio | Mueve el foco a la primera celda del control. |
Ctrl + Fin | Mueve el foco a la última celda del control. |
Ctrl + Bajar o subir páginas | Igual que página hacia abajo o página hacia arriba. |
F2 | Coloca la celda actual en modo de edición de celda si el valor de la EditMode propiedad es EditOnF2 o EditOnKeystrokeOrF2. |
F3 | Ordena la columna actual si el valor de la DataGridViewColumn.SortMode propiedad es Automatic. Es lo mismo que hacer clic en el encabezado de columna actual. Disponible desde .NET Framework 4.7.2. Para habilitar esta característica, las aplicaciones deben tener como destino .NET Framework 4.7.2 o versiones posteriores o participar explícitamente en mejoras de accesibilidad mediante modificadores de AppContext. |
F4 | Si la celda actual es un DataGridViewComboBoxCell, coloca la celda en modo de edición y muestra la lista desplegable. |
Alt + Flecha arriba/abajo | Si la celda actual es un DataGridViewComboBoxCell, coloca la celda en modo de edición y muestra la lista desplegable. |
Alt + Flecha izquierda/derecha | Aumenta o disminuye el ancho de la columna de la celda actual. |
Espacio | Si la celda actual es un DataGridViewButtonCell, DataGridViewLinkCell o DataGridViewCheckBoxCell, genera los eventos CellClick y CellContentClick. Si la celda actual es un DataGridViewButtonCell, también presiona el botón. Si la celda actual es un DataGridViewCheckBoxCell, también cambia el estado de comprobación. |
Entrar | Confirma los cambios realizados en la celda y fila actuales y mueve el foco a la celda directamente debajo de la celda actual. Si el foco está en la última fila, confirma los cambios sin mover el foco. |
Esc | Si el control está en modo de edición, cancela la edición. Si el control no está en modo de edición, se revertirán los cambios realizados en la fila actual si el control está vinculado a un origen de datos que admite la edición o se ha implementado el modo virtual con un ámbito de confirmación a nivel de fila. |
Retroceso | Elimina el carácter anterior al punto de inserción al editar una celda. |
Eliminar | Elimina el carácter después del punto de inserción al editar una celda. |
Ctrl + Entrar | Aplica los cambios realizados en la celda actual sin mover el foco. También confirma cualquier cambio en la fila actual si el control está enlazado a un origen de datos que admite la edición o si el modo virtual se ha implementado con un ámbito de confirmación a nivel de fila. |
Ctrl + 0 | Introduce un DBNull.Value valor en la celda actual si la celda es editable. De forma predeterminada, el valor mostrado de un DBNull es el valor de la propiedad NullValue aplicable a la celda actual. |
Teclas de selección
Si la propiedad MultiSelect se establece en false
y la propiedad SelectionMode se establece en CellSelect, cambiar la celda actual mediante las teclas de navegación cambia la selección a la nueva celda. Las teclas Mayús, Ctrl y Alt no afectan a este comportamiento.
Si se establece SelectionMode en RowHeaderSelect o ColumnHeaderSelect, se produce el mismo comportamiento, pero con las siguientes adiciones.
Tecla o combinación de teclas | Descripción |
---|---|
Turno + Barra espaciadora | Selecciona la fila o columna completa (igual que hacer clic en el encabezado de fila o columna). |
tecla de navegación (tecla de dirección, Página arriba/abajo, Inicio, Fin) | Si se selecciona una fila o columna completa, al cambiar la celda actual a una nueva fila o columna, se mueve la selección a la nueva fila o columna completa (según el modo de selección). |
Si MultiSelect se establece en false
y SelectionMode se establece en FullRowSelect o FullColumnSelect, al cambiar la celda actual a una nueva fila o columna mediante el uso del teclado, la selección se mueve a la nueva fila o columna completa. Las teclas Mayús, Ctrl y Alt no afectan a este comportamiento.
Si MultiSelect se establece en true
, el comportamiento de navegación no cambia, pero navegar con el teclado mientras presiona Mayús (incluido Ctrl + Mayús) modificará una selección de varias celdas. Antes de que comience la navegación, el control marca la celda actual como una celda de anclaje. Al navegar mientras presiona Mayús, la selección incluye todas las celdas entre la celda de anclaje y la celda actual. Otras celdas del control permanecerán seleccionadas si ya estaban seleccionadas, pero pueden dejar de seleccionarse si la navegación del teclado las coloca temporalmente entre la celda de anclaje y la celda actual.
Si MultiSelect se establece en true
y SelectionMode se establece en FullRowSelect o FullColumnSelect, el comportamiento de la celda ancla y la celda actual es el mismo, pero solo las filas o columnas completas se seleccionan o deseleccionan.
Control predeterminado del mouse
Control básico del mouse
Nota:
Al hacer clic en una celda con el botón izquierdo del mouse, siempre se cambia la celda actual. Al hacer clic en una celda con el botón derecho del mouse, se abre un menú contextual, cuando hay una disponible.
Acción del mouse | Descripción |
---|---|
Botón izquierdo del mouse hacia abajo | Convierte la celda en la que se hace clic en la celda actual y genera el evento DataGridView.CellMouseDown. |
Botón izquierdo del mouse hacia arriba | Genera el evento DataGridView.CellMouseUp |
Clic con el botón izquierdo del mouse | Activa los eventos DataGridView.CellClick y DataGridView.CellMouseClick |
Mantenga presionado el botón izquierdo del mouse y arrastre el cursor sobre la celda del encabezado de columna. | Si la DataGridView.AllowUserToOrderColumns propiedad es true , mueve la columna para que se pueda colocar en una nueva posición. |
Selección del mouse
No hay ningún comportamiento de selección asociado al botón central del mouse o a la rueda del mouse.
Si la propiedad MultiSelect se establece en false
y la propiedad SelectionMode se establece en CellSelect, se produce el siguiente comportamiento.
Acción del mouse | Descripción |
---|---|
Clic | Selecciona solo la celda actual si el usuario hace clic en una celda. Ningún comportamiento de selección si el usuario hace clic en un encabezado de fila o columna. |
Haga clic con el botón derecho en | Muestra un menú contextual si hay uno disponible. |
El mismo comportamiento se produce cuando se establece SelectionMode en RowHeaderSelect o ColumnHeaderSelect, excepto que, en función del modo de selección, al hacer clic en un encabezado de fila o columna se seleccionará la fila o columna completa y se establecerá la celda actual en la primera celda de la fila o columna.
Si SelectionMode se configura como FullRowSelect o FullColumnSelect, al hacer clic en cualquier celda de una fila o columna se seleccionará la fila o columna completa.
Si MultiSelect se establece en true
, al hacer clic en una celda mientras presiona Ctrl o Mayús, se modificará una selección de varias celdas.
Al hacer clic en una celda mientras presiona Ctrl, la celda cambiará su estado de selección, mientras que todas las demás celdas conservan su estado de selección actual.
Al hacer clic en una celda o una serie de celdas mientras presiona Mayús, la selección incluye todas las celdas entre la celda actual y una celda de anclaje ubicada en la posición de la celda actual antes del primer clic. Al hacer clic y arrastrar el puntero entre varias celdas, la celda de anclaje es la celda en la que se hace clic al principio de la operación de arrastre. Los clics posteriores mientras se mantiene presionada la tecla Mayús modifican la celda actual, pero no la celda ancla. Otras celdas del control permanecerán seleccionadas si ya estaban seleccionadas, pero pueden dejar de seleccionarse si la navegación del mouse las coloca temporalmente entre la celda de anclaje y la celda actual.
Si MultiSelect se establece en true
y SelectionMode se establece en RowHeaderSelect o ColumnHeaderSelect, al presionar Mayús al hacer clic en un encabezado de fila o columna (según el modo de selección), se modificará una selección existente de filas o columnas completas, si existe dicha selección. De lo contrario, borrará la selección e iniciará una nueva selección de filas o columnas completas. Sin embargo, al hacer clic en un encabezado de fila o columna al presionar Ctrl, se agregará o quitará la fila o columna de la selección actual sin modificar la selección actual.
Si MultiSelect se establece en true
y SelectionMode se establece en FullRowSelect o FullColumnSelect, al hacer clic en una celda mientras se mantiene presionada la tecla Mayús o Ctrl, el comportamiento es el mismo, excepto que solo se ven afectadas las filas y columnas completas.
Consulte también
.NET Desktop feedback