Заполнить ячейку DataGridView шаблоном штриховки
Есть ли способ заполнить ячейку DataGridView с помощью HatchPattern i C#?
Я пытался использовать dataGridView1.Rows[n].Cells[m].Style, но таким образом я могу изменить только задний цвет ячейки.
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);
}
Обратите внимание, что я сделал цвета штриховки полупрозрачными для лучшей читаемости содержимого. Я также проверяю только один из них для выбранной ячейки..