更改DataGridView单元格的backColor不会立即在Color.FromArgb上发生

时间:2018-07-23 00:32:11

标签: vb.net datagridview colors

我一直在开发一个程序,该程序利用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

更改立即发生!虽然我可以选择使用默认的绿色,但我希望使用我喜欢的阴影。为什么这不会立即发生?

0 个答案:

没有答案