2016-12-20 3 views
1

У меня есть datagridview с 3 строками и 2 столбцами. У моих строк и столбцов есть заголовки.VB.NET - Скрыть верхнюю левую угловую ячейку datagridview

Проблема в том, что у меня есть пустая ячейка в верхнем левом углу моего документа datagridview. Я думаю, что это заголовок столбца моих заголовок или что-то в этом роде. Я не могу скрыть эту клетку, возможно ли это?

Спасибо

Пример:

hide this cell | colHead1| colHead2 | 
-------------------------------------- 
firstname  | x  | y  | 
lastname  | x1  | y1  | 
society   | x2  | y2  | 

EDIT: Я попытался установить свойство dtgv.TopLeftHeaderCell.Visible в значение False, но это ReadOnly.

+0

Вы можете установить 'DataGridView1.RowHeadersVisible = false', но я не думаю, что вы можете выполнить то, что вы хотите. Вы просите скрыть ячейку, которая должна существовать, если показаны заголовки столбцов и заголовки строк, в противном случае она покажет, какой - серый фон? – OhBeWise

+0

@OhBeWise да, я хотел бы показать фон формы. Если я установил свойство Visible в значение False, он скроет мои заголовки, и я хочу их сохранить. – nbadaud

+0

@OhBeWise Ой, простите, я забыл попробовать ваше решение, так как я был в отпуске. Он работает очень хорошо, спасибо большое! – nbadaud

ответ

0

Я отменяю свой комментарий. Вы может выполнить это - вручную. Например, в вашем DataGridView.CellPainting обработчика событий в вежливой/неизмененном DataGridView, вы можете сопоставить фон следующим образом:

If e.RowIndex < 0 AndAlso e.ColumnIndex < 0 Then 
    Using brush As New SolidBrush(Me.dataGridView1.BackgroundColor) 
     e.Graphics.FillRectangle(brush, e.CellBounds) 
    End Using 

    e.Handled = True 
End If 

enter image description here


я хотел бы показать фон формы

Если вы имели в виду, что хотите установить фон DataGridView на backgro формы и эти две (C#) ответы пользователей Deumber и letsdance демонстрируют общую настройку, чтобы обрезать правильную часть изображения Формы в DataGridView. Использование методов (без вызова SetCellsTransparent()) в сочетании со следующим изменением в обработчик событий DataGridView.CellPainting должен работать:

If e.RowIndex < 0 AndAlso e.ColumnIndex < 0 Then 
    e.Graphics.FillRectangle(Brushes.Transparent, e.CellBounds) 
    e.Handled = True 
End If 

enter image description here

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