更改DataGridViewButton颜色C#
我试图找出如何改变我的按钮的颜色,但它似乎被我的交替行颜色代码覆盖,我无法找出如何使我可以有交替行颜色和红色删除按钮 按钮代码:更改DataGridViewButton颜色C#,c#,winforms,datagridview,C#,Winforms,Datagridview,我试图找出如何改变我的按钮的颜色,但它似乎被我的交替行颜色代码覆盖,我无法找出如何使我可以有交替行颜色和红色删除按钮 按钮代码: DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn(); dgvCarsPurchased.Columns.Add(btnDelete); btnDelete.HeaderText = "Delete"; btnDelete.Text = "
DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
dgvCarsPurchased.Columns.Add(btnDelete);
btnDelete.HeaderText = "Delete";
btnDelete.Text = "Delete Record";
btnDelete.Name = "btnDelete";
btnDelete.DefaultCellStyle.ForeColor = Color.White;
btnDelete.FlatStyle = FlatStyle.Flat;
btnDelete.DefaultCellStyle.BackColor = Color.Red;
btnDelete.UseColumnTextForButtonValue = true;
交替行颜色
this.dgvCarsPurchased.RowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#3E606F");
this.dgvCarsPurchased.AlternatingRowsDefaultCellStyle.BackColor =
ColorTranslator.FromHtml("#91AA9D");
基本上,您需要将
DefaultCellStyle
更改为CellTemplate
例如:
btnDelete.FlatStyle = FlatStyle.Flat;
btnDelete.CellTemplate.Style.BackColor = Color.Red;
btnDelete.CellTemplate.Style.ForeColor = Color.White;
我建议您使用CellFormatting事件:
private void dgvStatus_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex != btnDelete.Index || e.RowIndex < 0)
return;
if (e.RowIndex % 2 == 0)
e.CellStyle.BackColor = ColorTranslator.FromHtml("#3E606F");
else
e.CellStyle.BackColor = ColorTranslator.FromHtml("#91AA9D");
}
private void dgvStatus_CellFormatting(对象发送方,DataGridViewCellFormattingEventArgs e)
{
如果(e.ColumnIndex!=btnDelete.Index | | e.RowIndex<0)
返回;
如果(e.RowIndex%2==0)
e、 CellStyle.BackColor=ColorTranslator.FromHtml(“#3E606F”);
其他的
e、 CellStyle.BackColor=ColorTranslator.FromHtml(“#91AA9D”);
}
参考: