Cómo ejecutar Run CellEndEdit solo cuando Cell ValueChanged en DataGridView

quiero ejecutar CellEndEdit solo cuando se cambia el valor de la celda, intenté poner

if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == e.FormattedValue.ToString()) 
             return; 

en el evento CellValidation, el evento Cell Validation regresa pero CellEndEdit también se ejecuta y se actualiza,updated date & by campos cuando el usuario solo entró en modo de edición y salió sin cambiar la celda de valor.
En el momento en que se llega a CellEndEditCellValue & Formatted Value son iguales, así que no pude poner esto en CellEndEdit.

Una solución trivial es establecer un indicador en CellValidation y devolver CellEndEdit cuando se establece el indicador, pero esta parece ser una solución propensa a errores ya que hay aproximadamente 10 girds en el formulario. ¿Entonces 10 banderas?

Respuestas a la pregunta(10)

Su respuesta a la pregunta