Можно ли разрешить только выбору пользователя вызвать событие SelectionChanged в DataGridView?

Методы SelectionChanged запускаются, когда выбор изменяется программой. Так, например, позвонив dataGridView.ClearSelection() или же dataGridView.Rows[0].Selected = true вызвал бы метод

private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
}

Возможно ли выполнить код только тогда, когда пользователь изменил выбор, например, выбрав строку / ячейку с помощью мыши или клавиатуры?

1 ответ

Решение

Вы должны будете закодировать это в

private bool _programmaticChange;

private void SomeMethod()
{
    _programmaticChange = true;
    dataGridView.ClearSelection();
    _programmaticChange = false;
}


private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
    if (_programmaticChange) return;
    // some code
}

это заставит его работать только на действия пользователя

Другие вопросы по тегам