C# DataGridView Dynami c градиент - PullRequest
1 голос
/ 28 мая 2020

Добрый день!

Я много читал о динамическом c изменении цвета ячеек, но не нашел решения моей проблемы. В своем проекте я использовал DataGridView 32x32. Все значения являются целыми числами, также я изменил формат ячейки по умолчанию на Numeri c.

Этот код без проблем выполняет рисование градиентом:

void AFRTableGraient()
{
    for (int i = 0; i < dataGridViewTAF.ColumnCount; i++)
    {
        for (int j = 0; j < dataGridViewTAF.RowCount; j++)
        {
            try
            {
                if (dataGridViewTAF.Rows[i].Cells[j].Value == null)
                {
                    break;
                }

                dataGridViewTAF.Rows[i].Cells[j].Style.BackColor = Color.FromArgb(0x10 + (int)dataGridViewTAF.Rows[i].Cells[j].Value, 0x88 + (int)dataGridViewTAF.Rows[i].Cells[j].Value, 0x88 + (int)dataGridViewTAF.Rows[i].Cells[j].Value);
            }
            catch
            {
                break;
            }
        }
    }
    dataGridViewTAF.Update();
    dataGridViewTAF.Refresh();
}

Но мне нужно изменить цвет ячейки после изменения значения.

Я использовал события CellFormatting, KeyDown, CellLeave, CellPainting, Enter и т. д. c, но результата не было. Когда я пытался использовать метод CellPainting, приложение зависало, но обновления цвета не происходило. Кроме того, я пробовал использовать «таймер», но все равно ничего.

Я знаю, есть простой способ решения, но мне нужна помощь, чтобы его найти.

Спасибо!

...