在DataGridView行/单元格

时间:2016-10-27 16:35:24

标签: c# winforms datagridview

我在DataGridView中启用了完整的行选择,这样当单击一行时,整行会突出显示为蓝色。为此,我使用了以下代码:

this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

但是,我偶尔也会根据某些事件更改行或单元格的背景颜色。为此,我只需访问行DefaultCellStyle并将BackColor设置为绿色。但是,每当我更改颜色并且已经选择了行时,蓝色选定的突出显示具有优先级,并且不明显该行具有任何绿色的单元格。我希望绿色单元格显示在蓝色突出显示的行的顶部。

无论如何设置我的行/单元格的优先级/ z索引,以便SelectionMode属性始终放在后台,而其他颜色总是分层在顶层?

1 个答案:

答案 0 :(得分:1)

对于您更改其BackColor的行或单元格,请将SelectionBackColor设置为您用作BackColor的相同颜色。

例如,对于特定行:

dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
dataGridView1.Rows[0].DefaultCellStyle.SelectionBackColor = Color.Red;

或特定细胞:

this.dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Red;
this.dataGridView1.Rows[0].Cells[0].Style.SelectionBackColor = Color.Red;