I suggest to handle grid CellClick event (instead of CellEnter) with the following code:
private void GvSales_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex < GvSales.Rows.Count)
GvSales.Rows.RemoveAt(e.RowIndex);
}
"+":
without try/catch block
more effective removing