加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 在鼠标悬停时更改datagridview中所选行的背景颜色

发布时间:2020-12-17 00:11:27 所属栏目:大数据 来源:网络整理
导读:我试图在窗体上设置DataGridView,以便突出显示鼠标下的行.除了当前选中的行不会在MouseEnter上突出显示之外,我已经使用了以下内容. 表单包含4个单独的DataGridView,唯一突出显示的行应该是鼠标光标下的行. Private Sub dgvPrjDwgs_CellMouseEnter(sender As
我试图在窗体上设置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

请帮忙 :)

得到它的工作.

我使用的是DefaultCellStyle而不是RowsDefaultCellStyle.这是最终的代码.

Private Sub dgvPrjDwgs_CellMouseEnter(sender As Object,e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvPrjDwgs.CellMouseEnter
        dgvPrjDwgs.RowsDefaultCellStyle.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.RowsDefaultCellStyle.SelectionBackColor = Color.DimGray
    End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读