问题
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