gpt4 book ai didi

vb.net - 在鼠标悬停时更改 datagridview 中选定行的背景色

转载 作者:行者123 更新时间:2023-12-04 15:14:24 26 4
gpt4 key购买 nike

我正在尝试在表单上设置 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

下图是将鼠标悬停在随机未选择的行上。米色是我想要展示的高光颜色。

Highlight, highlight, you so fine, you so fine you blow my mind!

此图片是将鼠标悬停在当前选定的行上。当鼠标悬停在背景上时,我希望背景色变为 BlanchedAlmond。

Why you no highlight when I want.

所以,我改变了想法并尝试使用 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

关于vb.net - 在鼠标悬停时更改 datagridview 中选定行的背景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com