Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 数据网格视图标题网格颜色_Vb.net_Datagridview_Colors_Separator_Border Color - Fatal编程技术网

Vb.net 数据网格视图标题网格颜色

Vb.net 数据网格视图标题网格颜色,vb.net,datagridview,colors,separator,border-color,Vb.net,Datagridview,Colors,Separator,Border Color,这是一个VB.NET应用程序,我们将在Datagrid视图中显示SQL语句的输出。使用.NET2005 我们需要使grid控件上标题的分隔符与表单上的GridColor颜色相同。见下图: 我们尝试了查看DataGridView控件的所有属性,发现了一些看起来很有希望的有趣的东西,例如DataGridViewAdvancedHeaderStyle和DataGridViewHeaderOrderStyle,但它们似乎都不允许您更改其颜色 有人知道如何在不使用GDI+控件重新制作整个内容的情况下完成

这是一个VB.NET应用程序,我们将在Datagrid视图中显示SQL语句的输出。使用.NET2005

我们需要使grid控件上标题的分隔符与表单上的GridColor颜色相同。见下图:

我们尝试了查看DataGridView控件的所有属性,发现了一些看起来很有希望的有趣的东西,例如DataGridViewAdvancedHeaderStyle和DataGridViewHeaderOrderStyle,但它们似乎都不允许您更改其颜色


有人知道如何在不使用GDI+控件重新制作整个内容的情况下完成此操作吗?

我看不到图片,但是如何使用这些控件呢

DataGridView.ColumnBordersHeaderStyle
DataGridView.RowBordersHeaderStyle

嗯,我从来没有为此找到属性,所以我最终创建了一个自定义组件,并重载OnPaint事件处理程序,以便在现有组件上画一条线

如果其他人看到这篇寻找解决方案的文章,下面是代码:

Private Sub CustomDataGridView_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    Dim g As Graphics = e.Graphics
    Dim pen As New Pen(Me.GridColor)
    Dim TWidth As Integer = 2
    Dim HeaderWidth As Integer = 0
    If Me.RowHeadersVisible Then
        HeaderWidth = Me.RowHeadersWidth
    End If
    For Each column As DataGridViewColumn In Me.Columns
        Dim x As Integer = HeaderWidth + TWidth - 1
        TWidth += column.Width
        Dim top As Integer = column.HeaderCell.ContentBounds.Top
        Dim bottom As Integer = column.HeaderCell.ContentBounds.Bottom + 1
        pen.Width = 2
        g.DrawLine(pen, x, top, x, bottom)
    Next column
End Sub

要更改datagridview中列标题的背景色,请为EnableHeaderVisualStyles选择False。然后打开ColumnHeadersDefaultCellStyle并选择背景色。

我看不到图片。只是我的电脑吗?是的,很可能就是你的电脑。我不相信这个网站对谁能看到或看不到他人发布的图片有特定的权限。ColumnBorderHeaderStyle在framework 2.0中不存在。我们能找到的最接近这个的是ColumnHeadersBorderStyle,它只是一个外观的枚举,没有颜色规范。RowBorderHeaderStyle包含行标题的属性,我们在列标题方面遇到问题。。。我不相信设置会从一个转移到另一个。