6

CellFormatting イベントで一部のセルの境界線の色を変更するプログラミングが必要です。個々のセルのボードの色を変更できますか?

4

2 に答える 2

10

長方形を描くことができます。この例では、選択したセルに赤い枠を付けています。

private void dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
    if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
    {
        if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected == true)
        {
            e.Paint(e.CellBounds, DataGridViewPaintParts.All & ~DataGridViewPaintParts.Border);
            using (Pen p = new Pen(Color.Red, 1))
            {
                Rectangle rect = e.CellBounds;
                rect.Width -= 2;
                rect.Height -= 2;
                e.Graphics.DrawRectangle(p, rect);
            }
            e.Handled = true;
        }
    }
}
于 2014-02-10T19:49:42.823 に答える