动态更改datagridview选择颜色c#

时间:2013-06-20 06:09:24

标签: winforms datagridview

问题是当我在我的表单构造函数中通过RowTemplate.DefaultCellStyle.SelectionBackColor更改所选行的颜色时,它可以工作,但是当用户单击某个按钮以更改网格选择的背景颜色时,它在按钮事件中不起作用! 请帮忙!

public Form1()
{
   InitializeComponent();
   dataGridView1.RowTemplate.DefaultCellStyle.SelectionBackColor=Color.Red; //this      works fine
}
void button2_Click(object sender, EventArgs e)
{
  dataGridView1.RowTemplate.DefaultCellStyle.SelectionBackColor=Color.Blue;//but this does not work
}

2 个答案:

答案 0 :(得分:1)

试试这个..

void dataGridView1_RowPrePaint(object sender,
    DataGridViewRowPrePaintEventArgs e)
{
  If (DatagridView1.Rows(DataGridView1.CurrentCell.RowIndex).Selected )
  {

     DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).DefaultCellStyle.SelectionBackColor=Color.Blue;

  }
}

答案 1 :(得分:0)

void button2_Click(object sender, EventArgs e)
{
   foreach (DataGridViewRow row in dataGridView1.Rows)
   {
       row.DefaultCellStyle.SelectionBackColor = Color.Blue
   }
}

更新:

void button2_Click(object sender, EventArgs e)
{
   foreach (DataGridViewColumn col in dataGridView1.Columns)
   {
       col.DefaultCellStyle.BackColor = Color.Blue
   }
}