DataGridviewLinkCell - изменить основной цвет выделенной ячейки - PullRequest
1 голос
/ 21 октября 2019

У меня есть сетевое представление с 1 столбцом типа DataGridviewLinkColumn, текст ссылки отображается синим цветом, а когда фокус находится на ячейке, цвет фона ячейки также становится синим, что затрудняет чтение значения ячейки. .

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

SelectionForeColor не работает для ячеек ссылкив DataGridViewLinkColumn of DataGridView

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
    foreach (DataGridViewLinkCell cell in 
        ((DataGridView) sender).SelectedCells.OfType<DataGridViewLinkCell>())
    {
        if (cell.Selected)
        {
            cell.LinkColor = SystemColors.HighlightText;
        }
    }

}

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
    foreach (DataGridViewLinkCell cell in
        ((DataGridView) sender).Rows[e.RowIndex].Cells.OfType<DataGridViewLinkCell>())
    {
        cell.LinkColor = cell.LinkVisited ? Color.Purple : Color.Blue;
    }
}

Однако, когда данные загружаются в Datagridview по умолчанию, появляется фокус на 1-й ячейке, т.е. в ячейке [0] в строке [0], в данном случае передцвет не меняется на белый, как только я начинаю менять фокус ячейки, он работает.

В исходном состоянии, как я могу установить цвет текста DataGridviewLinkColumn на белый, когда фокус по умолчанию?

Кроме того, когда я изменяю фокус на любой другой элемент управления вне сетки данных, выделенный цвет текста ссылки на ячейку изменяется обратносинему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...