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