Я пытаюсь настроить DataGridView на форме, чтобы выделить строку под мышью. Я понял, что работаю со следующим, за исключением того, что выбранная строка не будет выделена в MouseEnter.
Формы содержат 4 отдельных DataGridView, и единственная строка, которая выделена, должна быть одной под курсором мыши.
Private Sub dgvPrjDwgs_CellMouseEnter(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvPrjDwgs.CellMouseEnter
If e.RowIndex > -1 Then
dgvPrjDwgs.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.BlanchedAlmond
End If
End Sub
Private Sub dgvPrjDwgs_CellMouseLeave(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvPrjDwgs.CellMouseLeave
If e.RowIndex > -1 Then
dgvPrjDwgs.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DimGray
End If
End Sub
Следующий рисунок с мышью над случайным невыбранным рядом. Бежевый цвет - основной цвет, который я хочу показать.

Это изображение с мышью над выбранной строкой. Я хочу, чтобы цвет фона изменялся на BlanchedAlmond при наведении на него мыши.

Итак, я передумал и попытался использовать MouseEnter, чтобы сделать эту строку выбранной. Это прекрасно работает. Но он оставляет выбранную строку, когда мышь покидает сетку данных и перемещается к другой (плохо). Я попытался настроить выбранный BackColor так, чтобы он соответствовал невыбранному BackColor, и теперь он вообще не выделяется.
Private Sub dgvPrjDwgs_CellMouseEnter(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvPrjDwgs.CellMouseEnter
dgvPrjDwgs.DefaultCellStyle.SelectionBackColor = Color.BlanchedAlmond
If e.RowIndex > -1 Then
dgvPrjDwgs.Rows(e.RowIndex).Selected = True
End If
End Sub
Private Sub dgvPrjDwgs_CellMouseLeave(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvPrjDwgs.CellMouseLeave
dgvPrjDwgs.DefaultCellStyle.SelectionBackColor = Color.DimGray
End Sub
Помогите пожалуйста:)