Рисовать красную линию внутри ячеек данных datagridview
Как добавить красную линию в ячейку?
private void dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
var dg = (DataGridView)sender;
if (e.ColumnIndex == -5 || e.RowIndex != (dg.RowCount -1))
return;
using (var p = new Pen(Color.Red, 1))
{
var cellBounds = e.CellBounds;
const int size = 2;
var pts = new List<Point>();
var h = false;
for (int i = cellBounds.Left; i <= cellBounds.Right; i += size, h = !h)
{
pts.Add(
new Point
{
X = i,
Y = h ? cellBounds.Bottom : cellBounds.Bottom + size
});
}
e.Graphics.DrawLines(p, pts.ToArray());
}
}
private void dataGridView_Paint(object sender, PaintEventArgs e)
{
dataGridView.CellPainting += dataGridView_CellPainting;
}
Можете ли вы рассказать нам, где в коде, который у вас есть, или что-то непонятное ... пожалуйста, также читайте о том, как задать вопрос .. Я также хотел бы знать, действительно ли вы использовали отладчик и прошел через код устанавливая точки останова .. и определяя, какая строка (-ы) вызывает проблему, делает простой поиск в Google, на самом деле есть тонны рабочего примера, как это сделать здесь, здесь: http://stackoverflow.com/questions/26120268/ drawing-a-horizontal-line-in-a-datagridview-cell – MethodMan
Не нужно добавлять обработчик событий 'dataGridView_CellPainting' в каждый вызов' dataGridView_Paint'! Но только один раз, возможно, в конструкторе Form или еще лучше, просто в дизайнере! – TaW
Вы решили свои проблемы? – TaW