如果我有一个上下文菜单,是否可以将它加入到另一个菜单中?所以你得到了:
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个不同菜单中的更大的菜单,最好不是作为子菜单。
发布于 2012-02-24 15:10:49
是。因为每个menuItem都是一个单独的控件,所以可以将相同的menuItem添加到两个菜单中;
var joinedMenuItem = new System.Windows.Forms.ToolStripMenuItem();
menu1.Items.Add(joinedMenuItem );
menu2.Items.Add(joinedMenuItem );同样的方式,您可以添加项目从一个菜单到另一个菜单;
menu1.Items.AddRange(menu2.Items);现在是时候说:
ToolStripMenu子项是项属性.
ToolStripMenuItem子项位于DropDownItems属性中。
因此,如果您有两个顶级菜单项(如File和Edit),并且希望删除共享子项:
foreach (var item in topMenuItem2.DropDownItems)
{
topMenuItem1.DropDownItems.Remove(item);
}在现实生活中,如果一个人想要这样灵活的菜单系统,最有可能的一个人会创建菜单项目的总列表。也许是按类别划分的菜单项子集。然后将菜单-从这样的列表或设置添加到所显示的菜单。
例如,您可以为用户提供自定义菜单或创建自己的自定义菜单节的可能性。正如在中所做的那样。
https://stackoverflow.com/questions/9432841
复制相似问题