Изменение DataGridViewButton Color C # - PullRequest
0 голосов
/ 03 июля 2018

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

Код кнопки:

DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
        dgvCarsPurchased.Columns.Add(btnDelete);
        btnDelete.HeaderText = "Delete";
        btnDelete.Text = "Delete Record";
        btnDelete.Name = "btnDelete";
        btnDelete.DefaultCellStyle.ForeColor = Color.White;
        btnDelete.FlatStyle = FlatStyle.Flat;
        btnDelete.DefaultCellStyle.BackColor = Color.Red;

        btnDelete.UseColumnTextForButtonValue = true;

Цвета чередующихся строк

this.dgvCarsPurchased.RowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#3E606F");
        this.dgvCarsPurchased.AlternatingRowsDefaultCellStyle.BackColor =
            ColorTranslator.FromHtml("#91AA9D");

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Я рекомендую использовать событие CellFormatting:

private void dgvStatus_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex != btnDelete.Index || e.RowIndex < 0)
        return;

    if (e.RowIndex % 2 == 0)
        e.CellStyle.BackColor = ColorTranslator.FromHtml("#3E606F");        
    else
        e.CellStyle.BackColor = ColorTranslator.FromHtml("#91AA9D");
}

Ссылка: https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellpainting(v=vs.110).aspx

0 голосов
/ 03 июля 2018

В основном вам нужно изменить DefaultCellStyle на CellTemplate.

Пример:

btnDelete.FlatStyle = FlatStyle.Flat;
btnDelete.CellTemplate.Style.BackColor = Color.Red;
btnDelete.CellTemplate.Style.ForeColor = Color.White;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...