C # If оператор, основанный на условном цвете ячейки Gridview - PullRequest
0 голосов
/ 25 сентября 2018

Извиняюсь, если это тривиально, но я пытаюсь переключиться с VB на C #.Я пытаюсь изменить цвет фона ячейки Datagridview в зависимости от цвета фона другой ячейки.Например,

, если строка (0), ячейка (0) «красная», а затем сделать строку (1), ячейку (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 голосов
/ 25 сентября 2018

В 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)
...