web-dev-qa-db-fra.com

Comment modifier la couleur d'arrière-plan de la ligne sélectionnée dans datagridview?

Comment modifier la couleur d'arrière-plan de la ligne sélectionnée pour datagridview dans les applications Windows C #?

23
Lawrance Rozario

Allez mec ... il doit y avoir une solution simple, et finalement en avoir une.

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

Cela a fonctionné pour moi, pas de codes complexes, pas de gestion des événements. Je l'avais déjà fait mais je ne pouvais pas m'en souvenir, alors j'ai pensé que le poster aiderait les autres et moi à l'avenir :)

30
Bravo

Sur le DataGridView, il y a une DefaultCellStyle, à l'intérieur de celle-ci, il y a des propriétés SelectionBackColor et SelectionForeColor.

DataGridView utilise une idée d'héritage de style, au cas où vous constateriez que le style que vous avez choisi n'est pas appliqué:

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

30
Adam Houldsworth

Profitant des événements de DataGridViewCell, CellEnter et CellLeave, vous pouvez essayer quelque chose comme ceci:

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);
}
2
Nano Taboada

Voici mon code

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon;
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White;
}
0
Haze Erasmo