日期:2014-05-17  浏览次数:21009 次

设置datagridview中button按钮的背景颜色
DataGridViewButtonColumn()在datagridview中创建按钮列,如何设置按钮的背景颜色(不是单元格的背景颜色)。

------解决方案--------------------
Button的颜色需要重绘才能改变。
------解决方案--------------------
可以在dataGridView1_CellPainting事件里面处理。
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
        {
            if (e.ColumnIndex == 0)//索引0
            {
                e.Handled = true;

                using (SolidBrush brush = new SolidBrush(Color.Red))
                {
                    e.Graphics.FillRectangle(brush, e.CellBounds);
                }
                ControlPaint.DrawBorder(e.Graphics, e.CellBounds, Color.Yellow, ButtonBorderStyle.Outset);
            }
            if (e.ColumnIndex == 1)//索引1
            {
                e.Handled = true;

                using (SolidBrush brush = new SolidBrush(Color.BlueViolet))
                {
                    e.Graphics.FillRectangle(brush, e.CellBounds);
                }