我正在重写 OnCellPainting 方法,因此我可以为 DataGridView 中的某些 DataGridViewCells 绘制自定义边框
protected override void OnCellPainting(DataGridViewCellPaintingEventArgs e)
{
base.OnCellPainting(e);
PaintCellBorders(e);
}
最初我的边框被绘制,然后在调用该方法时被绘制e.PaintBackground(e.ClipBounds, true)
。
我已经更新了我的代码,以便它首先绘制背景,然后在顶部绘制我的寄宿生。这种方法效果很好,但理想情况下我希望能够在我绘制的边界内绘制背景颜色(使用e.Graphics.DrawLines(....)
)
为了测试这个概念,我尝试了以下方法:
Rectangle clipBounds = new Rectangle(10,10,10,10);
e.CellStyle.BackColor = Color.Black;
e.PaintBackground(clipBounds, true);
e.Handled = true;
然而,在我的方法结束时,它不仅绘制了我的矩形指定的部分,还绘制了整个单元格,我是否从根本上遗漏了什么?