我有一个填充了数据的dataGridView对象.我想点击一个按钮,让它改变单元格背景的颜色.这就是我现在拥有的
foreach(DataGridViewRow row in dataGridView1.Rows)
{
foreach(DataGridViewColumn col in dataGridView1.Columns)
{
//row.Cells[col.Index].Style.BackColor = Color.Green; //doesn't work
//col.Cells[row.Index].Style.BackColor = Color.Green; //doesn't work
dataGridView1[col.Index, row.Index].Style.BackColor = Color.Green; //doesn't work
}
}
Run Code Online (Sandbox Code Playgroud)
所有这三个都会导致表格以重叠的方式重新绘制,并且尝试重新调整表格的大小变得一团糟.单击单元格时,值仍然突出显示,背景颜色不会更改.
问:如何在表存在后更改单个单元格的背景颜色?
我有一个DataGridView和我在它的RowPostPaint事件期间在每行的第一个单元格上绘制TreeView样式的虚线.当第一个单元格(即a DataGridViewTextBoxCell)处于编辑模式时,不绘制线条.如何处理编辑控件的绘画?标准编辑控件没有Paint事件,如果我可以避免这样做,我不想创建新类型的单元格.