我想以编程方式用Separator将我的menuItem中的项目集合中的每个组分开。Group MenuItem's Items
我知道我可以使用this.myMenuItem.Items.Add(new ToolStripSeparator());
但是这对我来说不是一个选项,因为myMenuItem的内容是随时创建的,我最终可以以空组为例。所以我将有两个ToolStripSeparator,它们之间没有项目。
就像这个例子。如果conditionA
为假或condition1A
和conditionA2
为假,我将得到两个连续的分隔符。
如果我在第一个或第二个嵌套if内移动myMenuItem.Items.Add(new ToolStripSeparator());
,我可以在同一组内获得分隔符。
// Add group A of items
myMenuItem.Items.Add(new ToolStripSeparator());
If(conditionA)
{
If(conditionA1)
myMenuItem.Items.Add("group A: item 1");
If(conditionA2)
myMenuItem.Items.Add("group A: item 2");
}
// Add group B of items
myMenuItem.Items.Add(new ToolStripSeparator());
If(conditionB)
{
If(conditionB1)
myMenuItem.Items.Add("group B: item 1");
If(conditionB2)
myMenuItem.Items.Add("group B: item 2");
}
// Add group C of items
myMenuItem.Items.Add(new ToolStripSeparator());
If(conditionC)
{
If(conditionC1)
myMenuItem.Items.Add("group C: item 1");
If(conditionC2)
myMenuItem.Items.Add("group C: item 2");
}
我徘徊,如果有一种简单的方法(如标签我们组选件),我可以动态创建的项目使用,因此菜单项可以决定把这个项目,我们是否需要一个分离器或没有。 我知道我可以结合条件或计数添加项目,所以我可以决定是否添加分隔符,但是想法是让添加的项目自己决定是否添加或不添加。所以当启动一个Item时,我无法确定是否必须添加分隔符。
我正在使用Windows.Forms.ToolStripMenuItem控件。
你最终会得到一个空的组?显示添加菜单项的代码。 – LarsTech
@LarsTech我提供了一个代码示例 – Mhd
不,没有内置的方法来默认添加分隔符。任何使用添加或插入分隔符的方法都会要求您检查条件或计算添加的项目等。发布的答案是一种实现方法。不要回避它。 – LarsTech