所有单元格的Datagridview背景颜色

时间:2016-09-02 13:55:10

标签: c# winforms datagridview

我想在点击一个单元格时为所有单元格设置背景颜色。 对不起,我是winforms的新人

喜欢图片

enter image description here

就像第6行一样!点击时所有细胞都呈红色。

我也尝试使用DefaultCellStyleDefaultRowStyle,但这仅适用于一个单元格。

我是否需要在单元格之间循环并在select上添加每种bg颜色?

有人给我答案吗?

4 个答案:

答案 0 :(得分:2)

您无需为此功能处理任何事件。 SelectionBackColorDataGridViewCellStyle属性用于此目的,它设置DataGridView单元格在选中时使用的背景颜色。使用设计器或代码配置它就足够了。

使用DataGridView

的属性为所有单元格设置所需的选择返回颜色
RowsDefaultCellStyle → SelectionBackColor

您也可以使用:

RowTemplate → DefaultCellStyle → SelectionBackColor

然后将SelectionMode设置为FullRowSelect就足够了。

答案 1 :(得分:1)

你试过这个吗?

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
        CellStyle.BackColor = Color.Red;
        dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = CellStyle;
    }

或者如果你想改变完整行的背景颜色,那么试试这个

 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red; 
    }

答案 2 :(得分:0)

  1. 使用datagridview Click事件来收听CurrentRow点击。
  2. 使用DefaultCellStyle属性设置颜色。

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Red;
    }
    

答案 3 :(得分:0)

我知道我迟到了。 。 。

在DataGridView上有一个DefaultCellStyle,其中包含SelectionBackColorSelectionForeColor属性。

DataGridView使用样式继承的想法,以防您发现未选择的样式。