El gridview tiene una propiedad SelectedRows que te devuelve una colección de los row seleccionados...
Se me ocurre algo como esto.
Pero a veces cuando lo uso con grid enlazados, tengo que desenlazarlos primero
Código PHP:
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
dataGridView1.Rows.Remove(row);
}