Desseleccionar el texto de una celda de un datagridview

WebProgramacion > Recursos sobre informática y tecnología > Programacion > C# > Desseleccionar el texto de una celda de un datagridview
C#
Autor: Dámaso Velázquez Álvarez

Cuando hacemos clic en una celda de un datagridview por defecto se selecciona todo el contenido de la celda y esto puede provocar en algunos casos que eliminemos el contenido de la misma si pulsamos cualquier tecla.

En la mayoría de las ocasiones, cuando pulsamos sobre una celda es para modificar parte del contenido o escribir al final. Os voy a dejar un código que utilizo para solucionar esto, de tal forma que si hay contenido en la celda, se desselecciona el texto y el cursor se coloca al final del mismo:

Hay que programar el evento CellBeginEdit del DataGridView de la siguiente forma:

private void grdHoja_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
    try
    {
        if (grdHoja.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() != String.Empty)
        {
            SendKeys.Send("{Right}");
        }
    }
    catch
    {
        MessageBox.Show("Se ha producido un error");
    }
}