Я не уверен, что это то, что вы ищете, но, надеюсь, это укажет вам правильное направление. Если вы хотите убедиться, что при редактировании значения ячейки строки не выбраны, вы можете обработать событие CellBeginEdit объекта DataGridView.
this.dataGridView1.CellBeginEdit += new System.Windows.Forms.DataGridViewCellCancelEventHandler(dataGridView1_CellBeginEdit);
void dataGridView1_CellBeginEdit(object sender, System.Windows.Forms.DataGridViewCellCancelEventArgs e)
{
dataGridView1.ClearSelection();
}
Если вы хотите сохранить существующий выбор, вам потребуется реализовать более сложный обработчик, такой как сохранение индексов выбранных в данный момент строк и восстановление их после.