我需要编程改变CellFormatting事件中某些单元格的边框颜色。可以改变单个电池的电路板颜色吗?
答案 0 :(得分:10)
您可以绘制一个矩形。在这个例子中,我在选定的单元格上放了一个红色边框。
private void dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected == true)
{
e.Paint(e.CellBounds, DataGridViewPaintParts.All & ~DataGridViewPaintParts.Border);
using (Pen p = new Pen(Color.Red, 1))
{
Rectangle rect = e.CellBounds;
rect.Width -= 2;
rect.Height -= 2;
e.Graphics.DrawRectangle(p, rect);
}
e.Handled = true;
}
}
}
答案 1 :(得分:1)
MSDN描述了一种方法,您可以从DataGridView继承以覆盖默认边框样式:DataGridViewAdvancedBorderStyle Class
上面的绘画方法更简单。