如何:更改 Windows 窗体 DataGridView 控件中的边框和网格线的样式

使用 DataGridView 控件可以自定义控件的边框和网格线的外观,从而改善用户体验。 除了控件内单元格的边框样式外,还可以修改网格线颜色和控件边框样式。 还可以针对普通单元格、行标题单元格和列标题单元格应用不同的单元格边框样式。

注意

网格线颜色仅与 DataGridViewCellBorderStyle 枚举的 SingleSingleHorizontalSingleVertical 值以及 DataGridViewHeaderBorderStyle 枚举的 Single 值一起使用。 这些枚举的其他值使用操作系统指定的颜色。 此外,如果通过 Application.EnableVisualStyles 方法在 Windows XP 和 Windows Server 2003 系列上启用视觉样式,则不使用 GridColor 属性值。

以编程方式更改网格线颜色

  • 设置 GridColor 属性。

    this.dataGridView1.GridColor = Color.BlueViolet;
    
    Me.dataGridView1.GridColor = Color.BlueViolet
    

以编程方式更改整个 DataGridView 控件的边框样式

  • BorderStyle 属性设置为 BorderStyle 枚举值之一。

    this.dataGridView1.BorderStyle = BorderStyle.Fixed3D;
    
    Me.dataGridView1.BorderStyle = BorderStyle.Fixed3D
    

以编程方式更改 DataGridView 单元格的边框样式

  • 设置 CellBorderStyleRowHeadersBorderStyleColumnHeadersBorderStyle 属性。

    this.dataGridView1.CellBorderStyle =
        DataGridViewCellBorderStyle.None;
    this.dataGridView1.RowHeadersBorderStyle =
        DataGridViewHeaderBorderStyle.Single;
    this.dataGridView1.ColumnHeadersBorderStyle =
        DataGridViewHeaderBorderStyle.Single;
    
    With Me.dataGridView1
        .CellBorderStyle = DataGridViewCellBorderStyle.None
        .RowHeadersBorderStyle = _
            DataGridViewHeaderBorderStyle.Single
        .ColumnHeadersBorderStyle = _
            DataGridViewHeaderBorderStyle.Single
    End With
    

示例

private void SetBorderAndGridlineStyles()
{
    this.dataGridView1.GridColor = Color.BlueViolet;
    this.dataGridView1.BorderStyle = BorderStyle.Fixed3D;
    this.dataGridView1.CellBorderStyle =
        DataGridViewCellBorderStyle.None;
    this.dataGridView1.RowHeadersBorderStyle =
        DataGridViewHeaderBorderStyle.Single;
    this.dataGridView1.ColumnHeadersBorderStyle =
        DataGridViewHeaderBorderStyle.Single;
}
Private Sub SetBorderAndGridlineStyles()

    With Me.dataGridView1
        .GridColor = Color.BlueViolet
        .BorderStyle = BorderStyle.Fixed3D
        .CellBorderStyle = DataGridViewCellBorderStyle.None
        .RowHeadersBorderStyle = _
            DataGridViewHeaderBorderStyle.Single
        .ColumnHeadersBorderStyle = _
            DataGridViewHeaderBorderStyle.Single
    End With

End Sub

编译代码

此示例需要:

另请参阅