Я программирую настольное приложение Windows Form, в котором у меня есть 2 DataGridViewImageColumn для имитации переключателей следующим образом:
![enter image description here](https://i.stack.imgur.com/wK6SN.png)
Когда я нажимаю наImageColumn, происходят две вещи (среди прочих):
(1) Событие SelectionChanged вызывается, в результате чего выбирается вся ячейка, и выделяется, как можно наблюдать на изображении.
(2) Срабатывает CellContentClick, и я успешно использую его для обновления изображений по мере необходимости.
Проблема, с которой я сталкиваюсь, заключается в том, что в событии SelectionChanged
у меня нет информации о ячейке, котораяуволил событие.Он также запускается в ответ на клавиатуру и многие другие действия, которые меня не волнуют.Итак, в основном мне нужно угадать ячейку, вызвавшую событие, чтобы установить для свойства Selected значение false (возможно, проверка коллекций SelectedColumns
и SelectedRows
, что также отнимает много времени)
С другой стороны, если я пытаюсь установить Selected=false
в событии CellContentClick
, изображение мерцает (так как фон ячейки был установлен ранее)
Есть ли лучший способ справиться с этим сценарием?Мне просто нужно запретить выделение ячейки при нажатии на изображение.