我有一个用数据填充的GridView表。出于某种原因,我想填充每个单元格的背景色。但这是问题所在。我只需要用该颜色填充单元格大小的1/10。是否有可能做到这一点?如果可以,怎么办?
我在C#中使用Winforms。

非常感谢。

最佳答案

也许尝试这个解决方案(经过测试)

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
    {
        if (e.ColumnIndex >= 0 && e.ColumnIndex < 1 && e.RowIndex >= 0)
        {
            //Watch out for the Index of Rows (here 0 for testing)
            string text = this.dataGridView1.Rows[0].Cells[e.ColumnIndex].Value.ToString();

            // Clear cell
            e.Graphics.FillRectangle(new SolidBrush(Color.Green), new Rectangle(e.CellBounds.Left, e.CellBounds.Top, e.CellBounds.Width / 10 , e.CellBounds.Height));
            e.Graphics.DrawString(text, this.Font, new SolidBrush(Color.Black), new Point(e.CellBounds.Left, e.CellBounds.Top + 2));
            e.Graphics.DrawRectangle(new Pen(Color.Silver), new Rectangle(e.CellBounds.Left, e.CellBounds.Top, e.CellBounds.Width - 1, e.CellBounds.Height - 1));
            e.Handled = true;
        }

    }

10-07 13:26