我一直在开发一个程序,该程序利用datagridview读取数据库表,并且为了美化所获取数据中单元格的编辑,我正在使用以下代码行:
dgvtable.Rows(r).Cells(c).Style.BackColor = Color.FromArgb(1, 0, 180, 86)
从Sub dgvtable_CellValueChanged
调用此行,其中dgvtable
指的是我为此使用的datagridview对象。使此代码正常工作的相关代码如下:
Private Sub dgvtable_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvtable.CellValueChanged
Dim r As Integer = e.RowIndex
Dim c As Integer = e.ColumnIndex
'Change the background color of the changed cell
dgvtable.Rows(r).Cells(c).Style.BackColor = Color.FromArgb(1, 0, 180, 86)
End Sub
因此,基本上,当我更改单元格的值时,该单元格的背景色应更改为我喜欢的绿色阴影,以表明它已被修改。但是,这种情况不会立即发生(单元格仍为白色),并且要查看更改是否发生,我必须双击受影响的单元格,然后该单元格变为蓝色,然后单击文本进行编辑,然后单击单元格变成绿色阴影。
但是,如果我这样写,则改为:
dgvtable.Rows(r).Cells(c).Style.BackColor = Color.Green
更改立即发生!虽然我可以选择使用默认的绿色,但我希望使用我喜欢的阴影。为什么这不会立即发生?