【发布时间】:2019-03-01 06:27:04
【问题描述】:
抱歉,如果这是微不足道的,但我正在尝试从 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”。一世 明白红色不是真/假,但我不明白为什么 被解释为布尔变量。
任何帮助将不胜感激!
谢谢:)
【问题讨论】:
-
将
=更改为==:if (GridView1.Rows[0].Cells[0].BackColor == System.Drawing.Color.Red) -
==表示相等,=表示赋值。 -
我同意 == 缺失,因为在 C# 中,你不能只用一个 = 来均衡,你也可以使用 BackColor.Equals()... 代替。当您将 C# 迁移到 VB 时,我会建议您不时使用此站点,反之亦然。 converter.telerik.com
-
非常感谢和最良好的祝愿。
标签: c# if-statement datagridview background-color