问一个关于菜单的奇怪的问题

jmghoul 2009-12-15 01:30:21
我在窗体中添加一个菜单控件MenuStrip 包含"文件" "操作"
在代码中有一个方法大体是这样的

// menuBar是窗体菜单控件变量 包含两项 文件和操作
ToolStripItemCollection items = menuBar.Items;

// items[0]是"文件"
ToolStripDropDownItem mainItems = (ToolStripDropDownItem)items[0];

// items[1]是"操作"
ToolStripDropDownItem subItems = (ToolStripDropDownItem)items[1];

// 我想把操作菜单下的所有操作项移动到文件下 但不移除各项 最终文件和操作下都包含相同菜单项
// 由于文件每add一次操作项都会自动减少一项所以就没i++ ?????为什么会自动减少
for (int i = 0; i < subItems.DropDownItems.Count; )
{
ToolStripItem temp = subItems.DropDownItems[i];

mainItems.DropDownItems.Add(temp);

// 添加完成 文件菜单下包含所有操作菜单项 但操作菜单项目都自动被remove掉了 我其实不想remove但他自动移除了这
// 是为什么啊 有什么方法可以保持操作菜单项不自动移除吗
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
abaochan 2009-12-15
  • 打赏
  • 举报
回复
#4楼 得分:0回复于:2009-12-15 14:21:38哎 没办法 真郁闷
jmghoul 2009-12-15
  • 打赏
  • 举报
回复
哎 没办法 真郁闷
  • 打赏
  • 举报
回复
ToolStripItem这样的东西不能重复引用
我记得我以前出过类似的问题,当时想把一个按钮从和个工具条中移动到另一个工具条中,调试的时候出现错误提示好象是不能重复引用,要再使用必须new一个出来的意思
jmghoul 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cpio 的回复:]
ToolStripItem temp = new ToolStripMenuItem(subItems.DropDownItems[i].Text);

mainItems.DropDownItems.Add(temp);

[/Quote]
这样的话虽然能建立一套和操作菜单项一样的菜单项 但事件却无法加载
cpio 2009-12-15
  • 打赏
  • 举报
回复
ToolStripItem temp = new ToolStripMenuItem(subItems.DropDownItems[i].Text);

mainItems.DropDownItems.Add(temp);

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧