首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >属性仅在C# winforms中的数据网格中单击鼠标后应用

属性仅在C# winforms中的数据网格中单击鼠标后应用
EN

Stack Overflow用户
提问于 2011-07-14 19:21:06
回答 1查看 431关注 0票数 2

我使用这样的代码来更改单元格的颜色,但属性仅在鼠标单击后应用,但我希望在窗体加载后更改颜色

使用的代码

代码语言:javascript
运行
复制
    private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
    {
        for (int i = 0; i < 5; i++)
        {
            int j = 6;
            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
            CellStyle.ForeColor = Color.Red;
            dataGridView1[j, i].Style = CellStyle;
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-14 19:25:35

dataGridView1_RowValidated中删除该代码,并将其添加到form Load event中:

在窗体构造函数中添加以下代码:

代码语言:javascript
运行
复制
public Form1()
{
    InitializeComponents();

    this.Load += OnFormLoad;
    this.dataGridView1.Sorted += OnDataGridSorted;
}

private void OnFormLoad(object sender, EventArgs e)
{
    UpdateDataGridViewColor();
}

private void OnDataGridSorted(object sender, EventArgs e)
{
    UpdateDataGridViewColor(); 
}

private void UpdateDataGridViewColor()
{
    for (int i = 0; i < 5; i++)
    {
        int j = 6;
        DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
        CellStyle.ForeColor = Color.Red;
        dataGridView1[j, i].Style = CellStyle;
    }
}

另请注意,您可以通过双击窗体设计器来添加窗体加载事件。

编辑:您在评论中表示,当您单击列进行排序时,应用的颜色将被删除。为了修复add this.dataGridView1.Sorted += OnDataGridSorted;事件,以便无论何时完成排序,都会应用新样式。以上代码已更新。“顺便说一句:我不会测试它,直到我发现它不起作用..”

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

https://stackoverflow.com/questions/6692375

复制
相关文章

相似问题

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