private void b_InvertClick(object sender, EventArgs e) { RibbonProfesionalRendererColorTable r = ribbon1.Theme.RendererColorTable; RibbonColorPart rcp = (RibbonColorPart)((CheckBox)sender).Tag; Color originalColor = r.GetColor(rcp); RefreshColor(rcp, Color.FromArgb(originalColor.A, 255 - originalColor.R, 255 - originalColor.G, 255 - originalColor.B)); }
private void nud_ValueChanged(object sender, EventArgs e) { RibbonProfesionalRendererColorTable r = ribbon1.Theme.RendererColorTable; RibbonColorPart rcp = (RibbonColorPart)((NumericUpDown)sender).Tag; Color originalColor = r.GetColor(rcp); RefreshColor(rcp, Color.FromArgb((int)((NumericUpDown)sender).Value, originalColor)); }
private void t_LostFocus(object sender, EventArgs e) { try { if (((TextBox)sender).Text.Length == 7) { RibbonProfesionalRendererColorTable r = ribbon1.Theme.RendererColorTable; Color color = ribbon1.Theme.RendererColorTable.FromHex(((TextBox)sender).Text); RibbonColorPart rcp = (RibbonColorPart)((TextBox)sender).Tag; RefreshColor(rcp, Color.FromArgb(r.GetColor(rcp).A, color)); } else if (((TextBox)sender).Text.Length > 7) { MessageBox.Show("Value is to long."); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void LoadTheme() { RibbonProfesionalRendererColorTable r = ribbon1.Theme.RendererColorTable; txtAuthor.Text = r.ThemeAuthor; txtAuthorEmail.Text = r.ThemeAuthorEmail; txtAuthorWebsite.Text = r.ThemeAuthorWebsite; txtDateCreated.Text = r.ThemeDateCreated; txtThemeName.Text = r.ThemeName; flowLayoutPanel1.Controls.Remove(tableLayoutPanel1); tableLayoutPanel1 = null; foreach (KeyValuePair <RibbonColorPart, Panel> kv in dicPanel) { Panel p = kv.Value; p = null; } foreach (KeyValuePair <RibbonColorPart, TextBox> kv in dicTxt) { TextBox t = kv.Value; t = null; } dicPanel.Clear(); dicTxt.Clear(); tableLayoutPanel1 = new TableLayoutPanel(); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle()); tableLayoutPanel1.Controls.Add(c1); tableLayoutPanel1.Controls.Add(c2); tableLayoutPanel1.Controls.Add(c3); tableLayoutPanel1.Controls.Add(c4); tableLayoutPanel1.Controls.Add(c5); tableLayoutPanel1.Controls.Add(c6); int count = Enum.GetNames(typeof(RibbonColorPart)).Length; for (int i = 0; i < count; i++) { Label l = new Label(); l.Width = 180; l.Text = ((RibbonColorPart)i).ToString(); Panel p = new Panel(); p.Height = 16; p.Width = 100; p.BorderStyle = BorderStyle.FixedSingle; p.BackColor = r.GetColor((RibbonColorPart)i); dicPanel[(RibbonColorPart)i] = p; TextBox t = new TextBox(); t.Tag = (RibbonColorPart)i; t.Text = r.GetColorHexStr((RibbonColorPart)i); t.LostFocus += new EventHandler(t_LostFocus); t.KeyPress += new KeyPressEventHandler(t_KeyPress); t.TextChanged += new EventHandler(t_LostFocus); dicTxt[(RibbonColorPart)i] = t; Button b = new Button(); b.Text = "Get Color"; b.Tag = (RibbonColorPart)i; b.Click += new EventHandler(b_Click); CheckBox ib = new CheckBox(); ib.Text = "Invert"; ib.Tag = (RibbonColorPart)i; ib.Click += new EventHandler(b_InvertClick); NumericUpDown nud = new NumericUpDown(); nud.Width = 50; nud.Tag = (RibbonColorPart)i; nud.Minimum = 0; nud.Maximum = 255; nud.Value = r.GetColor((RibbonColorPart)i).A; nud.ValueChanged += new EventHandler(nud_ValueChanged); tableLayoutPanel1.Controls.Add(l); tableLayoutPanel1.Controls.Add(nud); tableLayoutPanel1.Controls.Add(p); tableLayoutPanel1.Controls.Add(t); tableLayoutPanel1.Controls.Add(b); tableLayoutPanel1.Controls.Add(ib); } tableLayoutPanel1.Dock = DockStyle.Fill; tableLayoutPanel1.AutoScroll = true; tableLayoutPanel1.AutoSize = true; flowLayoutPanel1.Controls.Add(tableLayoutPanel1); ribbon1.Refresh(); this.Refresh(); }