首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联接上下文菜单

联接上下文菜单
EN

Stack Overflow用户
提问于 2012-02-24 14:58:03
回答 1查看 1K关注 0票数 5

如果我有一个上下文菜单,是否可以将它加入到另一个菜单中?所以你得到了:

代码语言:javascript
复制
  Menu 1 Item 1
  Menu 1 Item 2
  Menu 1 Item N
    ---------
  Menu 2 Item 1
  Menu 2 Item 2
  Menu 2 Item N

让我们以一个类似记事本的程序为例。菜单中有重复,因为在编辑菜单和编辑控件上下文菜单(剪切、复制、粘贴、选择所有.)中都出现了一组标准的工具。

我希望有一个名为ClipboardTools的菜单,它将出现在编辑和控制上下文菜单中,而不需要创建多个项。当然,在这种情况下,重复并不是那么糟糕,但我必须处理显示在3-4个不同菜单中的更大的菜单,最好不是作为子菜单。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-24 15:10:49

是。因为每个menuItem都是一个单独的控件,所以可以将相同的menuItem添加到两个菜单中;

代码语言:javascript
复制
  var joinedMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  menu1.Items.Add(joinedMenuItem );
  menu2.Items.Add(joinedMenuItem );

同样的方式,您可以添加项目从一个菜单到另一个菜单;

代码语言:javascript
复制
  menu1.Items.AddRange(menu2.Items);

现在是时候说:

ToolStripMenu子项是属性.

ToolStripMenuItem子项位于DropDownItems属性中。

因此,如果您有两个顶级菜单项(如File和Edit),并且希望删除共享子项:

代码语言:javascript
复制
  foreach (var item in topMenuItem2.DropDownItems)
  {
      topMenuItem1.DropDownItems.Remove(item);
  }

在现实生活中,如果一个人想要这样灵活的菜单系统,最有可能的一个人会创建菜单项目的总列表。也许是按类别划分的菜单项子集。然后将菜单-从这样的列表或设置添加到所显示的菜单。

例如,您可以为用户提供自定义菜单或创建自己的自定义菜单节的可能性。正如在中所做的那样。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9432841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档