2010-01-14 2 views
1

Это приложение VB .NET, в котором мы показываем вывод инструкции SQL в представлении Datagrid. используя .NET 2005.Заголовок сетки сетки данных Цвет сетки

Нам нужно, чтобы разделители заголовков на элементе управления сеткой были того же цвета, что и GridColor на форме. Смотрите рисунок ниже:

alt text

Мы пытались просматривал все свойства элемента управления DataGridView, и нашел некоторые интересные вещи, которые выглядели многообещающими, такие как DataGridViewAdvancedHeaderStyle и DataGridViewHeaderBorderStyle, но ни один из них не кажется чтобы вы могли менять цвета на нем.

Кто-нибудь знает, как это сделать, не переделав всю вещь с помощью контроллера GDI +?

+0

Я не могу видеть картину. Это просто мой компьютер? – John

+0

Да, это скорее всего ваш компьютер. Я не считаю, что у этого сайта есть определенные права на то, кто может и не может видеть изображения, отправленные другими. – Jrud

ответ

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 
0

Я не вижу изображение, но как насчет игры?

DataGridView.ColumnBordersHeaderStyle 
DataGridView.RowBordersHeaderStyle 
+0

ColumnBorderHeaderStyle не существует в среде 2.0. Самое близкое, что мы могли бы найти, это ColumnHeadersBorderStyle, который является просто перечислением того, как он выглядит, без спецификации цвета. RowBorderHeaderStyle содержит свойства для заголовков строк, и у нас возникают проблемы с заголовками столбцов ... Я не верю, что настройки передаются от одного к другому. – Jrud

Смежные вопросы