Here is one way I think you can display a dialog on a double click and then have an active cell afterwards (without getting a Double event when you click the next cell) is to:
1)
this.gridControl1.Model.Options.ActivateCurrentCellBehavior = GridCellActivateAction.None;
2) Move your dialog from CellDoubleClick to DoubleClick, and begin edit on the currentcell afterwards.
private void gridControl1_DoubleClick(object sender, System.EventArgs e)
{
MessageBox.Show("gridControl1_DoubleClick");
this.gridControl1.CurrentCell.BeginEdit(true);
}
Default grid behavior lets you activate a cell for editing by pressing F2, so you can have an editing cell without double-clicking. But this may not be intuitive enough for your user. If you allow a single click to activate a cell, then it is tough to catch a double click. You can mark the time in of the single-click, and then if the embedded control gets another click within the DoubleClick time, then you could call it a double click, and perform your double click functions. This would take some work, but I expect it is doable.