C#Winforms:自定义DataGridView选择gridcolor

时间:2014-08-08 11:10:43

标签: c# winforms datagridview colors grid

我有DataGridView,有3列3行。如果用户选择一行,我想让该行的网格改变颜色。我对C#完全陌生,我无法弄清楚如何实现目标。请帮帮我。感谢

4 个答案:

答案 0 :(得分:1)

我知道您要求修改单元格 GridLines 的外观并单独执行

根据MSDN,这 可能。然而,它似乎涉及一个真正的巨大努力。您需要继承DataGridview并广泛修改示例代码以动态工作。经过一段时间的玩弄我决定,这是不值得的。我建议选择标记选择的其他方法之一。 (或者获得很多代表并给它一个赏金..)

答案 1 :(得分:0)

查看DataGridView类的属性,您可以选择在DataGridView.GridColor属性中设置网格颜色。

  

获取或设置分隔DataGridView单元格的网格线的颜色。

以下示例:

dataGridView1.GridColor = SystemColors.ActiveBorder;

答案 2 :(得分:0)

您可以使用DataGridView.GridColor属性更改它。这将改变网格线的颜色。 请参阅链接 - DataGridView.GridColor

 dataGridView1.GridColor = SystemColors.Blue;

这将改变网格中的每一行。您能指定要更改的行的确切内容吗?我认为你只想要行的行。如果只想更改行线颜色,可以使用以下代码:

dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
dataGridView1.Rows[0].DefaultCellStyle.ForeColor = Color.White;

下面你可以看到它在行上的CellClick事件中使用:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    DataGridView dgv = sender as DataGridView;
    if (dgv == null)
        return;
    if (dgv.CurrentRow.Selected)
    {
        dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
        dataGridView1.Rows[0].DefaultCellStyle.ForeColor = Color.White;
    }
}

希望这会对你有所帮助。

答案 3 :(得分:0)

DataGridViewRow dgRow = dataGridView1.Rows[e.RowIndex];
dgRow.DefaultCellStyle.BackColor = Color.Red; 
dgRow.DefaultCellStyle.ForeColor = Color.Yellow;