基于条件Gridview单元格颜色的C#If语句

时间:2018-09-25 15:08:42

标签: c# if-statement datagridview background-color

很抱歉,这很简单,但是我正尝试从VB切换到C#。我正在尝试以另一个单元格的背景色为条件来更改Datagridview单元格的背景色。例如,

  

如果row(0),cell(0)为“红色”,则将row(1),cell(1)为“绿色”。

在VB(有效)中,我使用:

If GridView1.Rows(0).Cells(0).BackColor = Drawing.Color.Red Then
GridView1.Rows(4).Cells(3).BackColor = Drawing.Color.Red
End If

但是在C#中:

if (GridView1.Rows[0].Cells[0].BackColor = System.Drawing.Color.Red)
{
GridView1.Rows[4].Cells[3].BackColor = System.Drawing.Color.Red;
}
else
{
}

相反,我收到编译时错误

  

无法将类型'system.drawing.color'隐式转换为'bool'。一世   了解红色不是对/错,但我不明白为什么它是   被解释为布尔变量。

任何帮助将不胜感激!

谢谢:)

1 个答案:

答案 0 :(得分:2)

在VB中,单个等号用于“赋值”

Dim i as int = 10

对于“比较”

If GridView1.Rows(0).Cells(0).BackColor = Drawing.Color.Red Then

在C#中,单个等号仅用于“赋值”:

var i = 10;

如果要进行“比较”,则需要两个等号(==):

if (GridView1.Rows[0].Cells[0].BackColor == System.Drawing.Color.Red)