Насколько я знаю, нет готовой функциональности, которая сделает это.
Мне удалось получить запрошенный эффект с помощью следующего кода:
public partial class Form1 : Form
{
private bool selectionChanged;
public Form1()
{
InitializeComponent();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (!selectionChanged)
{
dataGridView1.ClearSelection();
selectionChanged = true;
}
else
{
selectionChanged = false;
}
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
selectionChanged = true;
}
}
При этом используются события SelectionChanged и CellClick объекта dataGridView, а также переменная уровня класса, содержащая состояние выбора.