title: Cancel cell validation AND exit editing mode
body: <p>my goal is to have a friendly validation flow on my DataGridView.</p>
  
  <p>When the user enters an incorrect value for a certain cell, I want to:</p>
  
  <ul>
  <li>exit editing mode</li>
  <li>revert the modification (i.e. recover the original value from the cell)</li>
  <li>display an error message</li>
  </ul>
  
  <p>I am currently using the CellValidating event to prevent the cell from updating its value but I'm not able to exit the editing mode. The cell is then waiting for a correct value and won't let the user to simply cancel&amp;revert his action...</p>
  
  <p>Here is what the validation method looks like :</p>
  
  <pre><code>private void dataGridViewMsg_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
  {
      [...] // Here, treatment determines is the new cell value isValid or not
  
      if (!isValid)
      {
          MessageBox.Show("The value entered is incorrect.", "Modification aborted");
          e.Cancel = true;
          dataGridViewMsg[e.ColumnIndex, e.RowIndex].IsInEditMode = false; // Someway, what I would like to do
          return;
      }
  
  }
  </code></pre>
  
  <p>How can I proceed to make the cell recover its original value without requiring me to keep track of this value?</p>