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; }
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; }