Bob,
Here is a try at this behavior. It catches the CurrentCellDeactivvating, and if it is because of a rightmouse done, it cancels the current deactivating and the next deactivating. You have to cancel 2 because the cell tries to move when you do the mouseup as well.
Regards,
Clay
//class member...
bool skipDeactivate = false;
private void gridControl1_CurrentCellDeactivating(object sender, System.ComponentModel.CancelEventArgs e)
{
if(Control.MouseButtons == MouseButtons.Right || skipDeactivate)
{
skipDeactivate = ! skipDeactivate;
e.Cancel = true;
}
}