не должно ли свойство задней части ячейки также быть желтым?
Нет, не должно.
Обратите внимание, что для каждой ячейки BackColor
можно отдельно установить другой цвет, отличный от цвета по умолчанию. Когда он установлен, он принимает приоритет по умолчанию. Color.Emtpy
- это дополнительные значения, которые означают: display the default color
.
MSDN :
Цвет пуст: указывает, является ли эта структура цвета неинициализированной.
Чтобы узнать, что отображается, вы можете просто проверить это:
Color c = someCell.Style.BackColor == Color.Emtpy ?
dgv.DefaultCellStyle.BackColor: someCell.Style.BackColor;
Другим способом проверки является функция color.IsEmpty
.
И вы также можете сбросить цвет, который вы установили на цвет по умолчанию, установив его на Color.Emtpy
. И когда цвет по умолчанию изменится, он также изменится.
Пример :
Вы хотите пометить ячейку проблемами розового цвета. Цвет по умолчанию светло-серый, пока пользователь не войдет в режим редактирования; затем меняется на белый.
Розовые клетки не будут следовать, потому что они имеют индивидуальный набор цветов.
После устранения проблемы пользователь покидает ячейку, и вы сбрасываете ее цвет: но не белый, а Color.Empty
.
Теперь, когда пользователь выходит из режима редактирования, все ячейки без проблем возвращаются к стандартному цвету просмотра - светло-серый.