我使用这样的代码来更改单元格的颜色,但属性仅在鼠标单击后应用,但我希望在窗体加载后更改颜色
使用的代码
private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < 5; i++)
{
int j = 6;
DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
CellStyle.ForeColor = Color.Red;
dataGridView1[j, i].Style = CellStyle;
}
}
发布于 2011-07-14 19:25:35
从dataGridView1_RowValidated
中删除该代码,并将其添加到form Load
event中:
在窗体构造函数中添加以下代码:
public Form1()
{
InitializeComponents();
this.Load += OnFormLoad;
this.dataGridView1.Sorted += OnDataGridSorted;
}
private void OnFormLoad(object sender, EventArgs e)
{
UpdateDataGridViewColor();
}
private void OnDataGridSorted(object sender, EventArgs e)
{
UpdateDataGridViewColor();
}
private void UpdateDataGridViewColor()
{
for (int i = 0; i < 5; i++)
{
int j = 6;
DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
CellStyle.ForeColor = Color.Red;
dataGridView1[j, i].Style = CellStyle;
}
}
另请注意,您可以通过双击窗体设计器来添加窗体加载事件。
编辑:您在评论中表示,当您单击列进行排序时,应用的颜色将被删除。为了修复add this.dataGridView1.Sorted += OnDataGridSorted;
事件,以便无论何时完成排序,都会应用新样式。以上代码已更新。“顺便说一句:我不会测试它,直到我发现它不起作用..”
https://stackoverflow.com/questions/6692375
复制相似问题