TableLayoutPanel Winforms Событие MallPainting Нарисуйте внешнюю кривую в первом столбцеC#

Место общения программистов C#
Anonymous
TableLayoutPanel Winforms Событие MallPainting Нарисуйте внешнюю кривую в первом столбце

Сообщение Anonymous »

Я рисую внешнюю дугу в первой ячейке каждой строки в TableLayoutPanel . Но я получаю другой вывод.

Я получаю это как это:

Это мой код

Код: Выделить всё

this.tlp_tra_actual.CellPaint += new TableLayoutCellPaintEventHandler(tableLayoutPanel1_CellPaint);
void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
//if (e.Row == 2 || e.Row == 3)
if (e.Column == 0)
{
Graphics g = e.Graphics;
Rectangle r = e.CellBounds;
r.Inflate(-1, -1);

using (GraphicsPath gp = new GraphicsPath())
{
gp.StartFigure();

gp.AddLine(new PointF(r.Width / 2-1, r.Height-1), new PointF(0+1, r.Height-1));
gp.AddLine(new PointF(0+1, r.Height-1), new PointF(0+1, r.Height / 2+1));
//gp.AddLine(new Point(r.Height / 2, 0), new Point(r.Width - (r.Height / 2), 0));
gp.AddArc(r, -90, 180);
gp.CloseFigure();
}
g.FillPath(Brushes.Blue, gp);
}
}
}
заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/797 ... irst-colum

Вернуться в «C#»