DataGridView SelectLine цвета нет? - PullRequest
2 голосов
/ 02 декабря 2008

Сетка отображает всю информацию правильно, в событии dataGridView1cellFormatting я меняю задний цвет в зависимости от объекта под значением строки. Это тоже работает. Последнее событие в моей сетке - dataGridView1_CellPainting, который проверяет, является ли заголовок для добавления значка.

Все нормально, пока я не попытаюсь убрать цвет выбранной линии (или ячейки, которая делает то же самое). То, что я хотел бы, это вынуть цвет выбранной линии. Я пытался установить его с помощью «Прозрачный», но когда элемент управления привязывает данные, строка становится серой, и когда мы изменяем размер столбца, текст не читается.

Как я могу отобразить данные внутри DataGridView без выделения выделенной строки?

1 Ответ

5 голосов
/ 02 декабря 2008

Вы можете установить для свойств SelectionForeColor и SelectionBackColor любой цвет, который вы хотите изменить цвет выделения. Это можно установить либо в свойстве DefaultCellStyle DataGridView, либо в отдельных ячейках. Таким образом, цвета не изменятся при выборе строки.

Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
    If e.RowIndex < 0 Then Exit Sub

    If e.RowIndex Mod 2 = 0 Then
        e.CellStyle.BackColor = Color.Orange
    Else
        e.CellStyle.BackColor = Color.Red
    End If

    'Make the selected cell the same color
    e.CellStyle.SelectionBackColor = e.CellStyle.BackColor
    e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...