私のmenuItem内のアイテムのコレクション内の各グループを、プログラムでセパレータで区切りたいと思います。グループMenuItemのアイテム
私はthis.myMenuItem.Items.Add(new ToolStripSeparator());
を使用することができますが、これは私のためのオプションではありません。myMenuItemのコンテンツはオンザフライで作成されているため、たとえば空のグループになる可能性があります。したがって、それらの間にアイテムのない2つのToolStripSeparatorsがあります。
この例のように。 conditionA
がfalseまたはcondition1A
とconditionA2
がfalseの場合、2つの連続した区切り文字が表示されます。
もし私がmyMenuItem.Items.Add(new ToolStripSeparator());
を最初のネストされたifの中に移動すると、私は同じグループの中にセパレータを得ることができます。 MenuItemには、我々は、セパレータを必要とするかどうか、このアイテムを置くと場所を決定することができますので、私は、動的に作成されたアイテムを使用することができます(タグ、当社グループのオプションのような)簡単な方法があるかどう
// 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を追加するかどうかは、追加されたItemにすることです。だから、Itemを起動するときに、セパレータを追加する必要があるかどうかはわかりません。
私はWindows.Forms.ToolStripMenuItemコントロールを使用しています。
どのように空のグループになりますか?メニュー項目を追加するコードを表示します。 – LarsTech
@LarsTech私はコード – Mhd
の例を提供しました。いいえ、デフォルトでは魔法のようにセパレータを追加する組み込みメソッドはありません。区切り文字を追加または挿入する方法では、条件を調べたり、追加された項目などを数えたりする必要があります。投稿された回答はその方法の1つです。それを避けてください。 – LarsTech