form_load()
{
...
foreach (Control ctl in groupbox.Controls)
{
// load color value from parent and explicitly set it to control level
ctl.ForeColor = ctl.ForeColor;
}
...
}
some_click()
{
groupbox.ForeColor = Color.Pink;
}
someother_click()
{
groupbox.ForeColor = Color.Green;
}
Цвет не устанавливается для childcontrol до тех пор, пока это не будет сделано явно, и когда запрос childcontrol color будет получен от родителя. Изменение цвета родителя обновит весь его контент, а childcontrol получит цвет от родителя.
Если вы установите (явно) дочерний цвет, тогда ребенок не будет «спрашивать» родителя.
Дочерний цвет также можно установить в конструкторе, но если цвет совпадает с цветом родителя, дизайнер уменьшит этот параметр. Код в событии загрузки заставляет ребенка иметь собственный цвет.