你是否在用DataGirdView时,当选中行前面的CheckBox,需要改变它的背景色,这个问题我也弄了很久,最后解决方法如下,这里要用到DataGirdView.CellMouseUp() 事件:
Code:
private void GuidGview_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
if (GuidGview.Rows.Count > 0)
{
if (GuidGview.Rows[GuidGview.CurrentRow.Index].Cells[0].EditedFormattedValue.ToString().Equals("True"))
{
if (GuidGview.CurrentRow.DefaultCellStyle.BackColor == GuidGview.CurrentRow.DefaultCellStyle.ForeColor && false == Convert.ToBoolean(this.GuidGview.Rows[GuidGview.CurrentRow.Index].Cells[0].Value))
{
GuidGview.CurrentRow.DefaultCellStyle.BackColor = Color.RoyalBlue;
}
}
else
{
GuidGview.CurrentRow.DefaultCellStyle.BackColor = GuidGview.CurrentRow.DefaultCellStyle.ForeColor;
}
}
}