You can draw in CellPainting
A test by drawing a triangle in the cell (1,1) :
dataGridView1.CellPainting += new System.Windows.Forms.DataGridViewCellPaintingEventHandler(dataGridView1_CellPainting);
CellPainting :
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex == 1 && e.RowIndex == 1)
{
e.PaintBackground(e.CellBounds, true);
e.PaintContent(e.CellBounds);
using (SolidBrush brush = new SolidBrush(Color.FromArgb(255, 0, 0)))
{
Point[] pt = new Point[] { new Point(e.CellBounds.Right - 1, e.CellBounds.Bottom - 10), new Point(e.CellBounds.Right - 1, e.CellBounds.Bottom - 1), new Point(e.CellBounds.Right - 10, e.CellBounds.Bottom - 1) };
e.Graphics.FillPolygon(brush, pt);
}
e.Handled = true;
}
}