Как выделить строку DataGridView, находящуюся под мышью в C#

Недавно кто-то спросил меня, как изменить стиль строки под мышью в элементе управления DataGridView. Этот пример делает это. Когда программа запускается, следующий код подготавливает DataGridView для использования.

Переменная HighlightStyle будет содержать стиль, используемый для выделения строки под мышью. Обработчик события Load формы определяет стиль. Затем он добавляет некоторые элементы в элемент управления DataGridView и вызывает метод CalculateTotals.

Метод CalculateTotals проходит через строки управления DataGridView и отображает общее количество раз в каждой строке.

Программа использует следующий метод SetRowStyle, чтобы установить стиль строки для определенного DataGridViewCellStyle.

Этот код проходит через ячейки строки и устанавливает их свойства Style.

Реальное развлечение происходит в событиях мыши мыши DataGridView. Следующий код выполняется, когда мышь входит в одну из элементов управления DataGridView.

Программа сохраняет индекс текущей выделенной строки в переменной HighlightedRowIndex. Когда мышь входит в ячейку, обработчик события сравнивает строку ячейки с HighlightedRowIndex. Если ячейка находится в текущей выделенной строке, правильная строка уже выделена, поэтому обработчик событий ничего не делает.

Программа сохраняет индекс текущей выделенной строки в переменной HighlightedRowIndex. Когда мышь входит в ячейку, обработчик события сравнивает строку ячейки с HighlightedRowIndex. Если ячейка находится в текущей выделенной строке, правильная строка уже выделена, поэтому обработчик событий ничего не делает.

...

Последняя часть кода выполняется, когда мышь покидает ячейку.

Источник: http://csharphelper.com/blog/2017/03/highlight-the-datagridview-row-that-is-under-the-mouse-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *