Это может быть сложно, потому что это противоречит стандартному поведению пользовательского интерфейса Windows. Вам может потребоваться, чтобы ваш пользовательский интерфейс отслеживал, какие строки выбраны в DGV, и «восстанавливал» предыдущий выбор после того, как щелчок левой кнопкой мыши изменил его. Это оставляет вам дальнейшие проблемы, хотя. А именно:
- Как / когда вы сбрасываете выбор?
- Если щелчок левой кнопкой мыши не позволяет изменить выбор, как вы выбираете строки в первую очередь?
- и так далее.
Более всеобъемлющей альтернативой было бы перехватывать все MouseDown
/ Click
события в DGV и реализовывать собственное поведение выбора, хотя я не уверен, насколько это возможно даже с WinForms.
Мое скромное мнение было бы переосмыслить этот дизайн интерфейса. Будет ли это соответствовать ожиданиям пользователей? :)
Обновление: Альтернатива-альтернатива, которая только что пришла мне в голову: если это поведение по какой-то причине крайне необходимо, лучшим вариантом будет создание пользовательского элемента управления, который добавляет своего рода «Выбор Заблокировано »состояние для DataGridView. Затем пользователь может явно запросить это переопределение к поведению Windows по умолчанию (выбрав строки, а затем, например, нажав кнопку «Блокировка»). Однако создание такой вещи не было бы тривиальным.