很抱歉,这很简单,但是我正尝试从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'。一世 了解红色不是对/错,但我不明白为什么它是 被解释为布尔变量。
任何帮助将不胜感激!
谢谢:)
答案 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)