Beispiel #1
0
        void AddItemToMenu(NonReopeningContextMenuStrip menu, string text, object tag, EventHandler clickHandler)
        {
            ToolStripMenuItem menuItem = new ToolStripMenuItem();

            menuItem.Text   = text;
            menuItem.Tag    = tag;
            menuItem.Click += clickHandler;
            menu.Items.Add(menuItem);
        }
Beispiel #2
0
        private void AddGroupButton_Click(object sender, EventArgs e)
        {
            if (groups.Count >= MAX_GROUPS)
            {
                return;
            }

            if (AddGroupButton != lastButtonClicked)
            {
                contextMenuStrip = new NonReopeningContextMenuStrip();  // new so that it can open immediately
            }
            else if (!contextMenuStrip.CanOpen)
            {
                return;
            }
            else
            {
                contextMenuStrip.Items.Clear();
            }

            if (ShowFolderOption(null))
            {
                AddItemToMenu(contextMenuStrip, folderGroupingType.ToString(), folderGroupingType,
                              new EventHandler(addGroupItem_Click));
                contextMenuStrip.Items.Add(new ToolStripSeparator());
            }

            foreach (GroupingType groupType in GetRemainingGroupTypes(null))
            {
                AddItemToMenu(contextMenuStrip, groupType.ToString(), groupType,
                              new EventHandler(addGroupItem_Click));
            }

            lastButtonClicked = AddGroupButton;
            contextMenuStrip.Show(this, new Point(AddGroupButton.Left, AddGroupButton.Bottom));
        }
Beispiel #3
0
        void button_Click(object sender, EventArgs e)
        {
            if (dragging)
            {
                return;
            }

            Button button = sender as Button;

            if (button == null)
            {
                return;
            }

            GroupingType groupType = button.Tag as GroupingType;

            if (groupType == null)
            {
                return;
            }

            if (button != lastButtonClicked)
            {
                contextMenuStrip = new NonReopeningContextMenuStrip();  // new so that it can open immediately
            }
            else if (!contextMenuStrip.CanOpen)
            {
                return;
            }
            else
            {
                contextMenuStrip.Items.Clear();
            }

            AddItemToMenu(contextMenuStrip, Messages.REMOVE_GROUPING, button,
                          new EventHandler(removeGroupItem_Click));

            if (ShowFolderOption(button))
            {
                contextMenuStrip.Items.Add(new ToolStripSeparator());
                AddItemToMenu(contextMenuStrip, folderGroupingType.ToString(),
                              new KeyValuePair <Button, GroupingType>(button, folderGroupingType),
                              new EventHandler(changeGroupItem_Click));
            }

            List <GroupingType> remainingGroupTypes = GetRemainingGroupTypes(button);

            if (remainingGroupTypes.Count > 0)
            {
                contextMenuStrip.Items.Add(new ToolStripSeparator());
                foreach (GroupingType remainingGroupType in remainingGroupTypes)
                {
                    AddItemToMenu(contextMenuStrip, remainingGroupType.ToString(),
                                  new KeyValuePair <Button, GroupingType>(button, remainingGroupType),
                                  new EventHandler(changeGroupItem_Click));
                }
            }

            lastButtonClicked = button;
            contextMenuStrip.Show(this, new Point(button.Left, button.Bottom));

            //Setup();
        }