Hi Everyone,

     I building a menu of projects, and then submenu items for each
project that are tasks. The menu and submenu populate as expected, but
when I add an even handler to the submenu items click event, I'm
getting duplicate entries when the menu refreshes.



        private void SetupMenu()
        {
            ctxMainMenu.Items.Clear();

            //ctxMainMenu.Refresh();
            _workItemValid = false;

            ToolStripMenuItem newMenu = null;

            if (_currentWorkItemID > 0)
            {
                newMenu = new ToolStripMenuItem("Stop Working On
WorkItem:" + _currentWorkItemID);
                ctxMainMenu.Items.Add(newMenu);
                ctxMainMenu.Refresh();
            }

            try
            {
                //ctxMainMenu.Refresh();
                foreach (string projectName in checkedProjects.Items)
                   {

                         newMenu = new ToolStripMenuItem(projectName);
                         //clear the menu before building a new one
                         //newMenu.DropDown.Items.Clear();
                         //ctxMainMenu.Refresh();
                         newMenu.DropDownItemClicked += new
ToolStripItemClickedEventHandler(newMenuItem_DropDownItemClicked);

newMenu.DropDownItems.AddRange(GetWorkItemMenuesForProject(projectName));
                         ctxMainMenu.Items.Insert(0,newMenu);

                  }
            }
            catch { }
}


***********

these are the changes i tried to apply to remove the duplicates, but
keep getting a complile error "The best overloaded method match for
'System.Windows.Forms.ToolStripItemCollection.Contains(System.Windows.Forms.ToolStripItem)'
has some invalid arguments"


************

if





 (!ctxMainMenu.Items.Contains(GetWorkItemMenuesForProject(projectName))



                    {




newMenu.DropDownItems.AddRange(GetWorkItemMenuesForProject(projectName));



                    }



                    ctxMainMenu.Items.Insert(0,newMenu);


Any guidance would be greatly appreciated,

Jason

Reply via email to