我只需要绘制DataGridView单元格的背景而不是它的Content.But,而我正在绘画时它也会绘制其内容.请帮助我.
我的代码是这样的.
private void Daywisegrid_CellPainting(object sender,DataGridViewCellPaintingEventArgs e) { if (e.RowIndex == 0 ) { using (Brush gridBrush = new SolidBrush(this.Daywisegrid.GridColor)) { using (Brush backColorBrush = new SolidBrush(e.CellStyle.BackColor)) { using (Pen gridLinePen = new Pen(gridBrush)) { // Clear cell e.Graphics.FillRectangle(backColorBrush,e.CellBounds); //Bottom line drawing e.Graphics.DrawLine(gridLinePen,e.CellBounds.Left,e.CellBounds.Bottom-1,e.CellBounds.Right,e.CellBounds.Bottom-1); e.Handled = true; } } } }
解决方法
我不知道为什么你需要捕捉CellPainting事件来改变细胞背景颜色就像这样做
Daywisegrid.Rows[RowIndex].Cells[columnIndex].Style.BackColor = Color.Red;
但如果你想在绘画中这样做,试试这个
private void Daywisegrid_CellPainting(object sender,e.CellBounds.Bottom-1); // here you force paint of content e.PaintContent( e.ClipBounds ); e.Handled = true; } } } }