Here is a sample that I think will work for any case. It uses the grid_MouseUp event to handle all right clicks that the grid catches, and dynamically hooks the cellcontrol_MouseUp in CurrentCellControlGotFocus and unhooks it in CurrentCellControlLostFocus.