Пример #1
0
    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);
    }
Пример #2
0
    void MenuColorOnClick(object obj, EventArgs ea)
    {
        micColor.Checked = false;
        micColor         = (MenuItemColor)obj;
        micColor.Checked = true;

        BackColor = micColor.Color;
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
    }
Пример #5
0
    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();
    }
Пример #6
0
 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;
     }
 }
Пример #7
0
        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);
            }
        }
Пример #8
0
 public DateItem(Day day, MenuItemColor color)
     : this(day)
 {
     SetColor(color);
 }