我有一个可编辑的DataGridView,其中SelectionMode设置为FullRowSelect(因此,当用户单击任何单元格时,整行都将突出显示)。但是,我希望以不同的背景色突出显示当前具有焦点的单元格(以便用户可以清楚地看到他们将要编辑的单元格)。我该怎么做(我不想更改SelectionMode)?

最佳答案

我使用CellFormatting事件找到了一种更好的方法:

Private Sub uxContacts_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles uxContacts.CellFormatting
    If uxContacts.CurrentCell IsNot Nothing Then
        If e.RowIndex = uxContacts.CurrentCell.RowIndex And e.ColumnIndex = uxContacts.CurrentCell.ColumnIndex Then
            e.CellStyle.SelectionBackColor = Color.SteelBlue
        Else
            e.CellStyle.SelectionBackColor = uxContacts.DefaultCellStyle.SelectionBackColor
        End If
    End If
End Sub

10-08 14:06