How do I change the datagridview selected row background color?

后端 未结 6 577
无人共我
无人共我 2020-12-03 13:06

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

相关标签:
6条回答
  • 2020-12-03 13:46

    This is the simple and working version that you can copy and paste:

    private void dataGridView1_SelectionChanged(object sender, EventArgs e)
    {
        (sender as DataGridView).CurrentRow.DefaultCellStyle.SelectionBackColor = Color.Green;
    }
    
    0 讨论(0)
  • 2020-12-03 13:53

    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 :)

    0 讨论(0)
  • 2020-12-03 13:57

    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);
    }
    
    0 讨论(0)
  • 2020-12-03 13:58

    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

    0 讨论(0)
  • 2020-12-03 14:02

    The color can be changed also in the designer of a 'DataGridView'

    0 讨论(0)
  • 2020-12-03 14:06

    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;
    }
    
    0 讨论(0)
提交回复
热议问题