首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C# Winforms:自定义DataGridView选定的网格颜色

C# Winforms:自定义DataGridView选定的网格颜色
EN

Stack Overflow用户
提问于 2014-08-08 11:10:43
回答 4查看 1.7K关注 0票数 1

我有DataGridView,它有3列3行。如果用户选择一行,我希望使该行的网格更改颜色。我对C#完全陌生,我不知道如何实现我的目标。请帮帮我。谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-08-08 12:07:22

据我所知,您要求修改单元格的GridLines的外观,并单独执行。

根据MSDN的说法,这个可能的。然而,这似乎需要付出很大的努力。您需要对DataGridview进行子类化,并对示例代码进行大量修改,以便动态工作。玩了一会儿后,我觉得这不值得。我建议选择另一种方法来标记选择。(或获得大量代表并悬赏给它.)

票数 1
EN

Stack Overflow用户

发布于 2014-08-08 11:18:53

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

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

例子如下:

代码语言:javascript
代码运行次数:0
运行
复制
dataGridView1.GridColor = SystemColors.ActiveBorder;
票数 0
EN

Stack Overflow用户

发布于 2014-08-08 11:31:45

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

代码语言:javascript
代码运行次数:0
运行
复制
 dataGridView1.GridColor = SystemColors.Blue;

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

代码语言:javascript
代码运行次数:0
运行
复制
dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
dataGridView1.Rows[0].DefaultCellStyle.ForeColor = Color.White;

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

代码语言:javascript
代码运行次数:0
运行
复制
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;
    }
}

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25202151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档