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