我有DataGridView
,它有3列3行。如果用户选择一行,我希望使该行的网格更改颜色。我对C#完全陌生,我不知道如何实现我的目标。请帮帮我。谢谢
发布于 2014-08-08 12:07:22
据我所知,您要求修改单元格的GridLines的外观,并单独执行。
根据MSDN的说法,这个是可能的。然而,这似乎需要付出很大的努力。您需要对DataGridview
进行子类化,并对示例代码进行大量修改,以便动态工作。玩了一会儿后,我觉得这不值得。我建议选择另一种方法来标记选择。(或获得大量代表并悬赏给它.)
发布于 2014-08-08 11:18:53
查看DataGridView
类的属性,您可以选择在DataGridView.GridColor
属性中设置网格颜色。
获取或设置分隔DataGridView单元格的网格线的颜色。
例子如下:
dataGridView1.GridColor = SystemColors.ActiveBorder;
发布于 2014-08-08 11:31:45
您可以使用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;
}
}
希望这能帮到你。
https://stackoverflow.com/questions/25202151
复制相似问题