动态地从ToopStripMenuItem中删除项目

| 如何动态删除ToolStripMenu项。我有两个事件触发一个事件来添加名称,另一个事件来删除名称。添加名称有效。删除没有。当我调试删除时,我可以在DropDownItems中看到{Poco}。但是,当我致电删除时,它不会被删除
// Adding items works as expected
ToolStripMenuItem mi = new ToolStripMenuItem(\"Poco\");
mi.CheckOnClick = true;
myToolStripMenuItem.DropDownItems.Add(mi);
我尝试了很多事情..我认为可以的是
// This does not work .. how do i fix this?
myToolStripMenuItem.DropDownItems.RemoveByKey(\"Poco\");
删除姓名的正确方法是什么?     
已邀请:
        ToolStripItemCollection.Item属性允许您按项目名称搜索-只要它是为对象本身设置的-因此,如果我假设不能将重复的字符串作为菜单项添加,则使用要显示的文本初始化对象其名称应使您以后可以将其删除:
ToolStripMenuItem mi = new ToolStripMenuItem(\"Poco\"){ Name = \"Poco\" };
然后进一步处理,使用与您相同的代码将其删除(我认为它应该可以工作):
//Should now work based on MS\'s comment for the Name property:
//The Name property can be used as a key into the ToolStripItemCollection.
myToolStripMenuItem.DropDownItems.RemoveByKey(\"Poco\");
不幸的是,我目前无法测试,这台Mac上没有.NET。 :-)但是,我非常确定您可以通过直接引用集合中的对象来将其删除():
myToolStripMenuItem.DropDownItems.Remove(myToolStripMenuItem.DropDownItems[\"Poco\"]);
同样,太糟糕了,我无法立即测试一个肯定的答案。     

要回复问题请先登录注册