How do I change the datagridview selected row background color?

有些话、适合烂在心里 提交于 2019-12-28 06:20:40

问题


How do I change the datagridview selected row background color in C# windows applications?


回答1:


Come on man... there has to be a simple solution, and finally got one.

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

This worked for me, no complex codes, no event handling. I did it before but was not able to recall so thought posting it would help others and me in future :)




回答2:


On the DataGridView there is a DefaultCellStyle, inside this there is SelectionBackColor and SelectionForeColor properties.

The DataGridView uses a style inheritance idea, in case you find that the style you pick is not being applied:

http://msdn.microsoft.com/en-us/library/1yef90x0.aspx




回答3:


Taking advantage of DataGridViewCell's events CellEnter and CellLeave you might try something like this:

private void foobarDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
  DataGridViewCellStyle fooCellStyle = new DataGridViewCellStyle();
  fooCellStyle.BackColor = System.Drawing.Color.LightYellow;
  this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(fooCellStyle);
}

private void foobarFinderDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e)
{
  DataGridViewCellStyle barCellStyle = new DataGridViewCellStyle();
  barCellStyle.BackColor = System.Drawing.Color.White;
  this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(barCellStyle);
}



回答4:


Here is my code

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon;
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White;
}


来源:https://stackoverflow.com/questions/3178421/how-do-i-change-the-datagridview-selected-row-background-color

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!