Beispiel #1
0
        public void Apply(Control control)
        {
            // Don't apply the light theme to prevent visual glitches (it is already applied anyway)
            if (!Main.FeatureConfig["AdaptiveDarkMode"] || !FormMethods.IsWindowsInDarkMode())
            {
                return;
            }

            control.ForeColor = ColorScheme["Fore"]["Text"];
            string[] controlName = control.Name.Split('_');
            if (string.IsNullOrWhiteSpace(controlName[0]))
            {
                return;
            }

            switch (controlName[0])
            {
            case "btn":
                control.BackColor = ColorScheme["Back"]["Button"];
                break;

            case "lst":
            case "num":
            case "txt":
                control.BackColor = ColorScheme["Back"]["Window"];
                break;

            default:
                control.BackColor = ColorScheme["Back"]["Control"];
                break;
            }

            if (control.HasChildren)
            {
                foreach (Control c in control.Controls)
                {
                    Apply(c);
                }
            }
        }
Beispiel #2
0
        public void Load()
        {
            bool DarkMode = false;

            if (Main.FeatureConfig["AdaptiveDarkMode"])
            {
                DarkMode = FormMethods.IsWindowsInDarkMode();
            }

            if (DarkMode)
            {
                ColorScheme["Fore"]["Text"]    = SystemColors.Window;
                ColorScheme["Back"]["Button"]  = SystemColors.ControlDarkDark;
                ColorScheme["Back"]["Control"] = SystemColors.ControlDarkDark;
                ColorScheme["Back"]["Window"]  = SystemColors.ControlDarkDark;
            }
            else
            {
                ColorScheme["Fore"]["Text"]    = SystemColors.ControlText;
                ColorScheme["Back"]["Button"]  = SystemColors.ControlLight;
                ColorScheme["Back"]["Control"] = SystemColors.Control;
                ColorScheme["Back"]["Window"]  = SystemColors.Window;
            }
        }