这是一个VB .NET应用程序,我们在Datagrid视图中显示SQL语句的输出。使用.NET 2005。
我们需要让网格控件上标题的分隔符与表单上的GridColor颜色相同。见下图:
我们已经尝试查看DataGridView控件的所有属性,并发现一些看起来很有意义的有趣的东西,例如DataGridViewAdvancedHeaderStyle和DataGridViewHeaderBorderStyle,但它们似乎都不允许你更改它上面的颜色。 / p>
有没有人知道怎么做而不用GDI +控制重塑整个事情?
答案 0 :(得分:2)
好吧,我从未找到过这个属性,所以我最终创建了一个自定义组件,并重载了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
答案 1 :(得分:0)
我看不到图片,但是玩这些图片呢?
DataGridView.ColumnBordersHeaderStyle
DataGridView.RowBordersHeaderStyle
答案 2 :(得分:0)
要更改datagridview中列标题的背景色,请为EnableHeadersVisualStyles选择False。然后打开ColumnHeadersDefaultCellStyle并选择背景颜色。