C# 更改CellEndEdit中非选定单元格的颜色不是';t粘住

C# 更改CellEndEdit中非选定单元格的颜色不是';t粘住,c#,datagridview,C#,Datagridview,我有一个输入了值的datagridview。如果我正在更改的单元格的值为x,而dgv中另一个单元格的值为y。如果x>y,我希望单元格1为绿色,单元格2为黑色,如果相等,则两者均为橙色。很简单。我正在CellEndEdit事件中确定这些值 问题是当前/选定的单元格颜色正在更改,但另一个单元格(单元格2)没有更改。我知道这是一个paint not Fireing事件或类似事件,但我尝试在调用后添加Refresh(),但没有效果。我运行了一个断点,代码被命中时没有任何问题,索引是正确的 有什么建议吗?

我有一个输入了值的datagridview。如果我正在更改的单元格的值为x,而dgv中另一个单元格的值为y。如果x>y,我希望单元格1为绿色,单元格2为黑色,如果相等,则两者均为橙色。很简单。我正在CellEndEdit事件中确定这些值

问题是当前/选定的单元格颜色正在更改,但另一个单元格(单元格2)没有更改。我知道这是一个paint not Fireing事件或类似事件,但我尝试在调用后添加Refresh(),但没有效果。我运行了一个断点,代码被命中时没有任何问题,索引是正确的

有什么建议吗?下面是我如何改变颜色的:

dgvPoolTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Orange;
dgvPoolTable.Rows[indexX].Cells[indexY].Style.ForeColor = Color.Orange;
第二行是我遇到麻烦的那一行

我应该把这个移到另一个事件吗

private void dgvPoolTable_CellFormatting(对象发送方,DataGridViewCellFormattingEventArgs e)
 private void dgvPoolTable_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {

        if (e.ColumnIndex == indix your cell1)
        {
            int stutse=1;
            if(e.Value > dgtrans .Rows[e.RowIndex ].Cells [cell2 your index].Value)
             stutse=1;
           else if(e.Value < dgtrans .Rows[e.RowIndex ].Cells [cell2 your index].Value)
            stutse=2;
             else
            stutse=3;
            switch (stutse)
            {
                case 3:

                    e.CellStyle.ForeColor = Color.Green;

                    break;
                case 2:
                    e.CellStyle.ForeColor = Color.GreenYellow;
                    break;
                case 1:
                    e.CellStyle.ForeColor = Color.LawnGreen;
                    break;

                default:
                    e.CellStyle.ForeColor = Color.BurlyWood;
                    break;
            }

        }
    }
{ 如果(e.ColumnIndex==indix您的单元格1) { int stutse=1; 如果(e.Value>dgtrans.Rows[e.RowIndex].Cells[cell2您的索引].Value) stutse=1; else if(e.Value
您是否将它们向后放置?indexX通常是一列,但您正在引用一行,indexY通常是一行,但您正在引用一列。您是否有任何更改单元格的处理方法(例如通过创建另一个单元格)?请使用cellFormat事件