public override void DetachEditingControl() { System.Windows.Forms.DataGridView dataGridView = this.DataGridView; if (dataGridView == null || dataGridView.EditingControl == null) { throw new InvalidOperationException("Cell is detached or its grid has no editing control."); } IntegerTextBox editBox = dataGridView.EditingControl as IntegerTextBox; if (editBox != null) { editBox.ClearUndo(); // avoid interferences between the editing sessions } base.DetachEditingControl(); }