protected virtual bool ShouldStartCellEdit(MouseEventArgs e)
{
if (this.IsCellEditing)
return false;
if (e.Button != MouseButtons.Left)
return false;
if ((Control.ModifierKeys & (Keys.Shift | Keys.Control | Keys.Alt)) != 0)
return false;
if (this.lastMouseDownClickCount == 1 && this.CellEditActivation == CellEditActivateMode.SingleClick)
return true;
return (this.lastMouseDownClickCount == 2 && this.CellEditActivation == CellEditActivateMode.DoubleClick);
}