private void RefreshTheme(Theme newTheme) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (newTheme != Theme.NULL) Properties.Settings.Default.Theme = newTheme.ToString(); Theme theme = (Theme)Enum.Parse(typeof(Theme), Properties.Settings.Default.Theme); switch (theme) { case (Theme.DARK): textColor = ColorTranslator.FromHtml(ColorTextDark); formBackColor = ColorTranslator.FromHtml(ColorFormBackDark); menuStripsColor = ColorTranslator.FromHtml(ColorMenuStripDark); toolStripsForeColor = ColorTranslator.FromHtml(ColorToolStripDark); pBarBackColor = ColorTranslator.FromHtml(ColorProgBarBackDark); pBarForeColor = ColorTranslator.FromHtml(ColorProgBarForeDark); buttonsHoverColor = ColorTranslator.FromHtml(ColorButtonsHoverDark); buttonsNoHoverColor = ColorTranslator.FromHtml(ColorButtonsNoHoverDark); buttonsHoverUnloadColor = ColorTranslator.FromHtml(ColorButtonsHoverUnloadDark); imgXButton = Properties.Resources.X; imgXButtonHover = Properties.Resources.X_Hover; imgMinButton = Properties.Resources.Minimize; imgMinButtonHover = Properties.Resources.Minimize_Hover; break; case (Theme.LIGHT): textColor = ColorTranslator.FromHtml(ColorTextLight); formBackColor = ColorTranslator.FromHtml(ColorFormBackLight); menuStripsColor = ColorTranslator.FromHtml(ColorMenuStripLight); toolStripsForeColor = ColorTranslator.FromHtml(ColorToolStripLight); pBarBackColor = ColorTranslator.FromHtml(ColorProgBarBackLight); pBarForeColor = ColorTranslator.FromHtml(ColorProgBarForeLight); buttonsHoverColor = ColorTranslator.FromHtml(ColorButtonsHoverLight); buttonsNoHoverColor = ColorTranslator.FromHtml(ColorButtonsNoHoverLight); buttonsHoverUnloadColor = ColorTranslator.FromHtml(ColorButtonsHoverUnloadLight); imgXButton = DocEdit.Properties.Resources.XLight; imgXButtonHover = DocEdit.Properties.Resources.X_HoverLight; imgMinButton = DocEdit.Properties.Resources.MinimizeLight; imgMinButtonHover = DocEdit.Properties.Resources.Minimize_HoverLight; break; } Properties.Settings.Default.Save(); BackColor = formBackColor; foreach (Control c in this.Controls) { if (c is Button) { c.BackColor = buttonsNoHoverColor; c.ForeColor = Color.Black; } else if (c is MenuStrip) { foreach (ToolStripMenuItem t in menuStrip1.Items) { foreach (ToolStripMenuItem i in t.DropDownItems) { t.BackColor = menuStripsColor; t.ForeColor = textColor; i.BackColor = menuStripsColor; i.ForeColor = textColor; } } c.BackColor = menuStripsColor; } c.ForeColor = textColor; } foreach (CheckBox c in groupBox1.Controls) { c.ForeColor = textColor; } pBar1.BackColor = pBarBackColor; pBar1.ForeColor = pBarForeColor; statusStrip1.BackColor = menuStripsColor; statusStrip1.ForeColor = textColor; closeFormButtton.Image = imgXButton; minimizeBox.Image = imgMinButton; }