c# – Cambiar color de fondo de la fila de un DataGridView

He configurado la primera columna de un DataGridView como CheckBoxColumn, al activar el checkBox, me gustaría que pintara toda la fila, de hecho me funciona, pero parece que no se aplican los cambios hasta que salgo de esa fila.
Os dejo el código que tengo a ver si me podéis echar un cable, he probado con dataGrid.Refresh() y .Update(), pero no consigo nada.
Muchas gracias.

private void dgvComandes_MouseUp(object sender, MouseEventArgs e)
{
    dgvComandes.EndEdit();
}
private void dgvComandes_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    if(e.ColumnIndex == dgvComandes.Columns("colCheck").Index)
    {
        bool sel = (bool)dgvComandes.Rows(e.RowIndex).Cells("colCheck").Value ;
        if(sel)
        {
            dgvComandes.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.FromArgb(106, 174, 144);
            dgvComandes.Rows(e.RowIndex).DefaultCellStyle.ForeColor = Color.White;
        }
        else
        {
            dgvComandes.Rows(e.RowIndex).DefaultCellStyle.ForeColor = dgvComandes.DefaultCellStyle.ForeColor;
            dgvComandes.Rows(e.RowIndex).DefaultCellStyle.BackColor = dgvComandes.DefaultCellStyle.BackColor;
        }
    }
}