示例#1
0
        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;
        }