public BetterContextMenu() { Text = "Better Context Menu Demo"; EventHandler eh = new EventHandler(MenuColorOnClick); MenuItemColor[] amic = { new MenuItemColor(Color.Black, "&Black", eh), new MenuItemColor(Color.Blue, "B&lue", eh), new MenuItemColor(Color.Green, "&Green", eh), new MenuItemColor(Color.Cyan, "&Cyan", eh), new MenuItemColor(Color.Red, "&Red", eh), new MenuItemColor(Color.Magenta, "&Magenta", eh), new MenuItemColor(Color.Yellow, "&Yellow", eh), new MenuItemColor(Color.White, "&White", eh) }; foreach (MenuItemColor mic in amic) { mic.RadioCheck = true; } micColor = amic[3]; micColor.Checked = true; BackColor = micColor.Color; ContextMenu = new ContextMenu(amic); }
void MenuColorOnClick(object obj, EventArgs ea) { micColor.Checked = false; micColor = (MenuItemColor)obj; micColor.Checked = true; BackColor = micColor.Color; }
public DropDownMenuButton() { Text = "Drop-Down Menu Button"; strText = "Drop-Down"; // Create bitmap for new button and add it to ImageList. tbar.ImageList.Images.Add(CreateBitmapButton(clrText)); // Create the menu for the button. ContextMenu menu = new ContextMenu(); EventHandler ehOnClick = new EventHandler(MenuColorOnClick); MeasureItemEventHandler ehOnMeasureItem = new MeasureItemEventHandler(MenuColorOnMeasureItem); DrawItemEventHandler ehOnDrawItem = new DrawItemEventHandler(MenuColorOnDrawItem); Color[] acolor = { Color.FromArgb(0x00, 0x00, 0x00), Color.FromArgb(0x00, 0x00, 0x80), Color.FromArgb(0x00, 0x80, 0x00), Color.FromArgb(0x00, 0x80, 0x80), Color.FromArgb(0x80, 0x00, 0x00), Color.FromArgb(0x80, 0x00, 0x80), Color.FromArgb(0x80, 0x80, 0x00), Color.FromArgb(0x80, 0x80, 0x80), Color.FromArgb(0xC0, 0xC0, 0xC0), Color.FromArgb(0x00, 0x00, 0xFF), Color.FromArgb(0x00, 0xFF, 0x00), Color.FromArgb(0x00, 0xFF, 0xFF), Color.FromArgb(0xFF, 0x00, 0x00), Color.FromArgb(0xFF, 0x00, 0xFF), Color.FromArgb(0xFF, 0xFF, 0x00), Color.FromArgb(0xFF, 0xFF, 0xFF) }; for (int i = 0; i < acolor.Length; i++) { MenuItemColor mic = new MenuItemColor(); mic.OwnerDraw = true; mic.Color = acolor[i]; mic.Click += ehOnClick; mic.MeasureItem += ehOnMeasureItem; mic.DrawItem += ehOnDrawItem; mic.Break = i % 4 == 0; menu.MenuItems.Add(mic); } // Finally, make the button itself. ToolBarButton tbarbtn = new ToolBarButton(); tbarbtn.ImageIndex = 4; tbarbtn.Style = ToolBarButtonStyle.DropDownButton; tbarbtn.DropDownMenu = menu; tbarbtn.ToolTipText = "Color"; tbar.Buttons.Add(tbarbtn); }
void MenuColorOnDrawItem(object obj, DrawItemEventArgs diea) { MenuItemColor mic = (MenuItemColor)obj; Brush brush = new SolidBrush(mic.Color); Rectangle rect = diea.Bounds; rect.X += 1; rect.Y += 1; rect.Width -= 2; rect.Height -= 2; diea.Graphics.FillRectangle(brush, rect); }
void MenuColorOnClick(object obj, EventArgs ea) { // Set the new text color. MenuItemColor mic = (MenuItemColor)obj; clrText = mic.Color; panel.Invalidate(); // Make a new button bitmap. tbar.ImageList.Images[4] = CreateBitmapButton(clrText); tbar.Invalidate(); }
private void SetColor(MenuItemColor color) { if (color == MenuItemColor.Primary) { this.BackColor = System.Drawing.Color.Silver; lblTopText.ForeColor = System.Drawing.Color.Black; lblBottomText.ForeColor = System.Drawing.Color.DimGray; } else { this.BackColor = System.Drawing.Color.DimGray; lblTopText.ForeColor = System.Drawing.Color.Gainsboro; lblBottomText.ForeColor = System.Drawing.Color.LightGray; } }
private void LoadItems(List <Day> days) { int i = 0; // Create menu item from data. foreach (Day day in days) { i++; // Create new dateitem. MenuItemColor color = (i % 2 == 0) ? MenuItemColor.Primary : MenuItemColor.Alternate; DateItem item = new DateItem(day, color); // Subscribe to selection event. item.OnDaySelected += Item_OnDaySelected; // Add new control to panel. AddMenuItemToList(item); } }
public DateItem(Day day, MenuItemColor color) : this(day) { SetColor(color); }