Мне нужно реализовать выбор вида сетки данных таким образом, чтобы при щелчке пользователя по ячейке выделялась вся строка, когда пользователь удерживал клавишу CTRL, выбирались дополнительные строки, когда пользователь держал нажатой клавишу SHIFT.В соответствии с требованием я не могу показать RowHeaders, поэтому выбор должен быть основан на щелчке ячейки.Я также знаю, что datagridview.SelectionMode = FullRowSelect
справится, но у меня возникает одна проблема при использовании SHIFT для выделения - пробелы.Когда кто-то выбирает одну строку, затем нажимает клавишу SHIFT, а затем перепрыгивает через несколько строк, чтобы выбрать другой элемент, не все ячейки стали выделенными (посмотрите на рисунок - строки с x = 3,4,5 имеют ячейки, которые не выделены).

Помогите мне решить эту проблему.
На самом деле у меня есть несколько идей.Например, как-то воспринимать нажатие на ячейку как нажатие на заголовок строки, но я не уверен, как это реализовать.