private void UpdateControl(Control controlToUpdate, Color newBackColor)
{
if (controlToUpdate == null) return;
if (controlToUpdate.ContextMenuStrip != null)
{
UpdateToolStrip(controlToUpdate.ContextMenuStrip, newBackColor);
}
var tabControl = controlToUpdate as MaterialTabControl;
if (tabControl != null)
{
foreach (TabPage tabPage in tabControl.TabPages)
{
tabPage.BackColor = newBackColor;
}
}
if (controlToUpdate is MaterialDivider)
{
controlToUpdate.BackColor = GetDividersColor();
}
if (controlToUpdate is MaterialListView)
{
controlToUpdate.BackColor = newBackColor;
}
//recursive call
foreach (Control control in controlToUpdate.Controls)
{
UpdateControl(control, newBackColor);
}
controlToUpdate.Invalidate();
}