Как изменить цвет фона выбранных строк datagridview в приложениях Windows С#?
Как изменить цвет фона выбранной группы данных datagridview?
Ответ 1
В DataGridView есть DefaultCellStyle
, внутри этого есть свойства SelectionBackColor
и SelectionForeColor
.
DataGridView использует идею наследования стиля, если вы обнаружите, что стиль, который вы выбираете, не применяется:
Ответ 2
Давай, человек... должно быть простое решение, и, наконец, получилось.
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.Blue;
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Red;
Это сработало для меня, без сложных кодов, без обработки событий. Я делал это раньше, но не смог вспомнить, так что мысль о том, что это будет помогать другим и мне в будущем:)
Ответ 3
Воспользовавшись DataGridViewCell
событиями CellEnter
и CellLeave
, вы можете попробовать что-то вроде этого:
private void foobarDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCellStyle fooCellStyle = new DataGridViewCellStyle();
fooCellStyle.BackColor = System.Drawing.Color.LightYellow;
this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(fooCellStyle);
}
private void foobarFinderDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCellStyle barCellStyle = new DataGridViewCellStyle();
barCellStyle.BackColor = System.Drawing.Color.White;
this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(barCellStyle);
}
Ответ 4
Вот мой код
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon;
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White;
}