Я использую событие KeyDown DataGridView, и в обработчике определяю, была ли нажата клавиша Delete:
if e.KeyCode == Keys.Delete...
Затем найдите, какой элемент / строку следует удалить, получив свойство SelectedRows, если ваш DataGridView находится в режиме FullRowSelect или RowHeaderSelect, иначе вы можете определить строку следующим образом:
i = SelectedCells[0].RowIndex
тогда:
DataGridView.Rows[i].DataBoundItem
Затем вам просто нужно удалить соответствующую запись из базы данных и, возможно, обновить DataGridView в зависимости от того, как она связана ...