Рисование горизонтальной линии в ячейке DataGridView

1

это мое событие paint1

Pen graphPen = new Pen(Color.White, 10);
PointF pt1D = new PointF();
PointF pt2D = new PointF();
pt1D.X = 5;
pt1D.Y = 10;
pt2D.X = 175;
pt2D.Y = 10;

e.Graphics.DrawLine(graphPen, pt1D, pt2D);
e.Graphics.DrawLine(graphPen, 5, 10, 175, 10);

Помогите мне применить тот же метод к событию краски для datagridview. я хочу рисовать drawline на ячейке datagridview

Теги:
winforms

1 ответ

1

это не хорошо для реального применения, но если вы должны сделать это, вы можете использовать это

//subscribing the event
dataGridView1.CellPainting += dataGridView1_CellPainting;

//handle the event
void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{

    if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
    {
        e.Graphics.DrawLine(Pens.Red, e.CellBounds.Left, e.CellBounds.Top, e.CellBounds.Right, e.CellBounds.Bottom);
        e.Graphics.DrawLine(Pens.Blue, e.CellBounds.Left, e.CellBounds.Top+e.CellBounds.Height / 2, e.CellBounds.Right,e.CellBounds.Top+ e.CellBounds.Height / 2);

        e.Paint(e.ClipBounds, DataGridViewPaintParts.ContentForeground);
        e.Handled = true;
    }
}

и результат будет таким же:

Изображение 174551

Но, как я уже говорил, не используйте это для реального применения

  • 0
    К, спасибо, но на самом деле я хочу, если я дважды щелкну по любой ячейке, она снова будет отображена в виде поля прямоугольника, а затем дважды щелкну по его скрытию. Это то, что я хочу.
  • 0
    отредактируйте свой вопрос, пожалуйста

Ещё вопросы

Сообщество Overcoder
Наверх
Меню