Evitar que un DataGridView pase a la siguiente fila cuando pulsamos la tecla enter

WebProgramacion > Recursos sobre informática y tecnología > Programacion > C# > Evitar que un DataGridView pase a la siguiente fila cuando pulsamos la tecla enter
C#
Autor: Dámaso Velázquez Álvarez

En muchas ocasiones, cuando el foco del formulario está ubicado en un DataGridView y tenemos seleccionada una fila, querremos programar un evento relativo a los datos que están activos, como puede ser ver el detalle de los mismos, o imprimir un informe relativo a ellos.

Si programamos el evento KeyDown del DataGridView y se pulsa la tecla Enter, después de la ejecución del código programado se producirá un avance en el foco a la siguiente fila.

Para evitar esto sólo tenemos que incluir en nuestro evento KeyDown el código e.SuppressKeyPress = true;

Veamos un ejemplo:

private void grdEjemplo_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        e.SuppressKeyPress = true;
        this.CargarDatos();
    }
}

En este ejemplo se realiza una carga de datos relativos a la fila seleccionada y se evita que se produzca la selección de la siguiente fila del DataGridView.