当前位置: 首页 >新车 > 内容

人日羊b日得进去

新车
导读 要求是选中的行变色,代码如下事件是RowPrePaint。这个思路是先得到当前的行。RowPrePaint事件应该是每Paint一行之前的事件,所以对行进行...
2024-07-08 02:43:30

要求是选中的行变色,代码如下事件是RowPrePaint。

这个思路是先得到当前的行。

RowPrePaint事件应该是每Paint一行之前的事件,所以对行进行检查,如果满足要求就设置成想要的样式即可。

因为要把非当前行还原样式,所以记录了之前的颜色,估计直接记录Style也是一种好方法。

1. void DataGridView1RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)2. {3. if (e.RowIndex >= dataGridView1.Rows.Count - 1)4. return;5. var row = (sender as DataGridView).Rows[e.RowIndex];6. try7. {8. Color oldForeColor = new Color();9. Color oldBackColor = new Color();10. if (row == (sender as DataGridView).CurrentRow) {11. if(row.DefaultCellStyle.ForeColor != Color.White)12. {13. oldForeColor = row.DefaultCellStyle.ForeColor;14. row.DefaultCellStyle.ForeColor = Color.White;15. }16. if(row.DefaultCellStyle.BackColor != ***.Blue)17. {18. oldBackColor = row.DefaultCellStyle.BackColor;19. row.DefaultCellStyle.BackColor = ***.Blue;20. }21. }22. else23. {24. row.DefaultCellStyle.ForeColor = oldForeColor;25. row.DefaultCellStyle.BackColor = oldBackColor;26. }27. }28. catch (Exception)29. {30. }31. }。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。