Как изменить цвет фона выбранной строки таблицы просмотра? - PullRequest
23 голосов
/ 05 июля 2010

Как изменить цвет фона выбранной строки таблицы обзора в приложениях C # для Windows?

Ответы [ 4 ]

32 голосов
/ 09 октября 2012

Давай, парень ... должно быть простое решение, и, наконец, оно есть.

dataGridView1.DefaultCellStyle.SelectionBackColor = Color.Blue;
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Red;

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

30 голосов
/ 05 июля 2010

В DataGridView есть DefaultCellStyle, внутри него есть свойства SelectionBackColor и SelectionForeColor.

DataGridView использует идею наследования стилей, если вы обнаружите, что выбранный вами стильне применяется:

http://msdn.microsoft.com/en-us/library/1yef90x0.aspx

2 голосов
/ 13 июля 2010

Используя события 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);
}
0 голосов
/ 16 января 2016

Вот мой код

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon;
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...