有没有办法用HatchPattern i C#填充DataGridView单元格?
我尝试使用dataGridView1.Rows [n] .Cells [m] .Style,但这样我只能改变单元格的背景颜色。
答案 0 :(得分:1)
您需要所有者绘制单元格,即对CellPainting
事件进行编码..
using System.Drawing.Drawing2D;
..
private void dataGridView1_CellPainting(object sender,
DataGridViewCellPaintingEventArgs e)
{
Rectangle cr = e.CellBounds;
e.PaintBackground(cr, true);
Color c1 = Color.FromArgb(64, Color.GreenYellow);
Color c2 = Color.FromArgb(64, e.State == DataGridViewElementStates.Selected ?
Color.HotPink : Color.RosyBrown) ;
if (e.RowIndex == 2 && (e.ColumnIndex >= 3))
using (HatchBrush brush = new HatchBrush(HatchStyle.LargeConfetti, c1, c2))
{
e.Graphics.FillRectangle(brush, cr );
}
e.PaintContent(cr);
}
请注意,我将阴影颜色设置为半透明,以便更好地阅读内容。我还检查了其中一个是否正在选择单元格。