Эффективное выделение столбца и строки в DataGridView при перемещении мыши - PullRequest
0 голосов
/ 13 сентября 2010

Я пытаюсь выделить строку и столбец, на котором находится мышь. По сути это означает изменение цвета фона всех соответствующих ячеек. В настоящее время я пытаюсь сделать это в событии MouseMove. Однако это приводит к снижению производительности.

Мне предложили использовать WPF для повышения производительности, однако я не хочу идти по этому пути. Как можно улучшить производительность в C #?

Ответы [ 2 ]

2 голосов
/ 11 ноября 2010

Попробуйте событие CellMouseEnter; он срабатывает только один раз каждый раз, когда мышь перемещается над новой ячейкой, в отличие от MouseMove, и не требует нажатия на ячейку, чтобы вызвать событие. Вероятно, вам следует обработать CellMouseEnter (для выделения новой ячейки), CellMouseLeave (для отмены выделения старой ячейки) и, возможно, событие Leave всего DGV (чтобы убедиться, что все ячейки не выделены).

0 голосов
/ 13 сентября 2010

Вы можете использовать DataGridView.RowEnter Event , которое происходит только тогда, когда новая строка становится активной.Ссылки msdn показывают точно такой же пример, который вы пытаетесь выполнить.

...