首页 新闻 搜索 专区 学院

C# 单击改变DataGridView单元格背景色

0
悬赏园豆:50 [已解决问题] 解决于 2010-08-25 17:20

我在DataGridView的CellMouseEnter和CellClick事件设置了

this.dgvDisplay.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;(dgvDisplay是我的DataGridView的name属性),但是它的背景色却没改,请问各位高手这是为什么呀?怎么在单击DataGridView的单元格时改变单元格的的背景色呀?

问题补充: 我是在WinForm窗体上设置的
高建生的主页 高建生 | 初学一级 | 园豆:100
提问于:2010-08-25 16:58
< >
分享
最佳答案
1

在你的代码之前添加:

if (e.ColumnIndex < 0 || e.RowIndex < 0)
                return;

 

另外 click 后,被选中的单元格,还有个 SelectionBackColor 设置。

收获园豆:40
Launcher | 高人七级 |园豆:45045 | 2010-08-25 17:15
其他回答(3)
0

其实上面那条语句一起生效,之所以看不出来效果是因为,那一行处于选中状态,显示的是默认选择的颜色,当你再点另外一行的时,就可以看出背景色已经改变了。

 

收获园豆:10
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-25 17:10
1

设置CellClick就可以了,我用你的代码this.dgvDisplay.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;没有问题,你看看是不是你其他地方的代码有问题

kyo-yo | 园豆:5587 (大侠五级) | 2010-08-25 17:15
1

dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Red;
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.Green;

这样的方法就可以。

Astar | 园豆:40805 (高人七级) | 2010-08-25 17:17
不用加事件,在load的时候设置下属性。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-25 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册