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();
}
}
{
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.