如何更改datagridView标头颜色

时间:2011-10-24 05:23:28

标签: vb.net winforms visual-studio

现在,datagridView标题背景颜色以灰色显示。我想改成差异 颜色。

我改变了ColumnHeaderDefaultCellStyle中的背景颜色,但没有改变。

如何做到这一点。

3 个答案:

答案 0 :(得分:19)

将属性EnableHeadersVisualStyles设置为False,然后将ColumnHeaderDefaultCellStyle背景颜色更改为您想要的颜色。您将能够看到设计师本身的变化。

答案 1 :(得分:1)

在datagridView中,您可以使用DataGridViewCellStyle更改标题颜色,请参阅以下代码

       ' Set the selection background color for all the cells.
    dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White
    dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black

    ' Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default
    ' value won't override DataGridView.DefaultCellStyle.SelectionBackColor.
    dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty

    ' Set the background color for all rows and for alternating rows. 
    ' The value for alternating rows overrides the value for all rows. 
    dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray
    dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray

    ' Set the row and column header styles.
    dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
    dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black
    dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Black

编辑:

使用DataGridViewCellStyle,标题颜色会发生变化,但标题部分中列的分隔符不会出现。因此,对于OnPaint事件处理程序的一个重要事件,请查看this

答案 2 :(得分:1)

此外,如果您尝试设置颜色(后退或前景色)或单个列标题的其他属性(并非一次全部设置),请使用

datagridview.Columns(e.ColumnIndex).HeaderCell.Style.BackColor = color.cyan
datagridview.Columns(e.ColumnIndex).HeaderCell.Style.(ForeColor or Font or Alignment etc) = whatever

其中e.ColumnIndex来自事件的EventArgs,但是您可以进行相应的更改。