Я пытаюсь настроить DataGridView на форме, чтобы подсвечивать строку под мышью. У меня это работает со следующим, за исключением того, что выбранная строка не выделяется MouseEnter.Изменение обратного цвета выбранной строки в datagridview на mouseover
Формы содержат 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
Следующая фотография с помощью мыши по случайному выбранному ряду. Бежевый - это цвет подсветки, который я хочу показать.
Этот рис является с помощью мыши над выбранной строке. Я хочу, чтобы backcolor изменился на BlanchedAlmond, когда мышь над ним.
Итак, я изменил мышление и попытался с помощью MouseEnter, чтобы сделать эту строку выбранной. Это отлично работает. Но он оставляет строку, выбранную, когда мышь покидает datagrid и перемещается в другую (плохую). Я попытался установить выбранный 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
Помогите пожалуйста :)