You can try to handle this by overriding ProcessDialogKey in a derived grid.
public class MyGridDataBoundGrid : GridDataBoundGrid
{
protected override bool ProcessDialogKey(Keys keyData)
{
if(keyData == Keys.Enter)
{
this.CurrentCell.EndEdit();
this.CurrentCell.MoveRight();
return true;
}
if(keyData == Keys.Escape)
{
this.CurrentCell.CancelEdit();
return true;
}
return base.ProcessDialogKey (keyData);
}
}