コード例 #1
0
        private void SetRibbonColorSchemeColors(Color groupsBackColor, Color groupsForeColor, Color buttonColor, Color textColor, Color panelTextBackground, Color colorEverythingElse)
        {
            RibbonProfesionalRendererColorTable colors = new RibbonProfesionalRendererColorTable();

            Application.EnableVisualStyles();
            MenuBar.Renderer  = new ToolStripProfessionalRenderer(new DarkSchemeMenuStripColorTable());
            MenuBar.ForeColor = Color.LightGray;
            foreach (var item in MenuBar.Items)
            {
                var dropDown = (ToolStripMenuItem)item;
                foreach (var dropDownItem in dropDown.DropDownItems)
                {
                    if (dropDownItem.GetType() == typeof(ToolStripMenuItem))
                    {
                        ((ToolStripMenuItem)dropDownItem).ForeColor = Color.LightGray;
                    }
                }
            }

            Groups.BackColor = groupsBackColor;
            Groups.ForeColor = groupsForeColor;

            Groups.DrawItem += Groups_DrawItemDarkColorScheme;

            foreach (FieldInfo field in colors.GetType().GetFields())
            {
                var type = Nullable.GetUnderlyingType(field.FieldType) ?? field.FieldType;
                if (type == typeof(Color))
                {
                    if (field.Name.ToLower().Contains("buttonchecked") || field.Name.ToLower().Contains("buttonselected"))
                    {
                        field.SetValue(colors, buttonColor);
                    }
                    else if (field.Name.ToLower().Contains("text") && !field.Name.ToLower().Contains("textbackground"))
                    {
                        field.SetValue(colors, textColor);
                    }
                    else if (field.Name.ToLower().Contains("paneltextbackground"))
                    {
                        field.SetValue(colors, panelTextBackground);
                    }
                    else
                    {
                        field.SetValue(colors, colorEverythingElse);
                    }
                }
            }

            _ribbon.Theme.RendererColorTable = colors;
        }
コード例 #2
0
        private void SetRibbonColorSchemeLight()
        {
            RibbonProfesionalRendererColorTable colors = new RibbonProfesionalRendererColorTable();

            Application.EnableVisualStyles();
            MenuBar.ForeColor = Color.Black;
            foreach (var item in MenuBar.Items)
            {
                var dropDown = (ToolStripMenuItem)item;
                foreach (var dropDownItem in dropDown.DropDownItems)
                {
                    if (dropDownItem.GetType() == typeof(ToolStripMenuItem))
                    {
                        ((ToolStripMenuItem)dropDownItem).ForeColor = Color.Black;
                    }
                }
            }

            Groups.BackColor = Color.FromArgb(245, 245, 242);
            Groups.ForeColor = Color.Black;

            Groups.DrawItem += Groups_DrawItemLightColorScheme;

            foreach (FieldInfo field in colors.GetType().GetFields())
            {
                var type = Nullable.GetUnderlyingType(field.FieldType) ?? field.FieldType;
                if (type == typeof(Color))
                {
                    if (field.Name.ToLower().Contains("buttonchecked") || field.Name.ToLower().Contains("buttonselected"))
                    {
                        field.SetValue(colors, Color.FromArgb(196, 222, 247));
                    }
                    else if (field.Name.ToLower().Contains("text") && !field.Name.ToLower().Contains("textbackground"))
                    {
                        field.SetValue(colors, Color.Black);
                    }
                    else if (field.Name.ToLower().Contains("paneltextbackground"))
                    {
                        field.SetValue(colors, Color.FromArgb(206, 206, 217));
                    }
                    else
                    {
                        field.SetValue(colors, Color.FromArgb(239, 238, 239));
                    }
                }
            }

            _ribbon.Theme.RendererColorTable = colors;
        }