Comment modifier la couleur d'arrière-plan de la ligne sélectionnée pour datagridview dans les applications Windows C #?
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 :)
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é:
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);
}
Voici mon code
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon;
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White;
}