如何更改DataGridView中某些单元格的边框颜色?

时间:2012-12-07 22:48:01

标签: winforms datagridview

我需要编程改变CellFormatting事件中某些单元格的边框颜色。可以改变单个电池的电路板颜色吗?

2 个答案:

答案 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

上面的绘画方法更简单。