In meiner Kontrolle habe ich:
ContextMenu = new ContextMenu();
ContextMenu.MenuItems.Add(new MenuItem("&Add Item", onAddSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Edit Item", onEditSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Delete Item", onDeleteSpeaker));
ContextMenu.MenuItems.Add( ??? );
ContextMenu.MenuItems.Add(new MenuItem("Cancel"));
Wie füge ich diesem Kontextmenü eine Trennlinie hinzu?
c#
winforms
contextmenu
separator
Adam Pierce
quelle
quelle
Antworten:
Ich glaube, es ist nur ein Strich:
quelle
ContextMenu.Items.Add(new ToolStripSeparator());
siehe Gabriels AntwortDies funktioniert genauso gut wie der Bindestrich, und ich vermute, dass die Winforms den Bindestrich in einen ToolStripSeparator übersetzen werden. Ich denke, diese Lösung ist für jeden, der den Code pflegen muss, offensichtlicher.
quelle
yourContextMenu.Items.Insert(3, new ToolStripSeparator());
, aber Sie können keinInsert
Bindestrich "-".In WPF:
quelle
Wenn Sie den Designer verwenden, setzen Sie einen einzelnen Bindestrich "-" als Text so, wie Sie Ihre Menüelemente benennen würden. Nach dem Drücken der Eingabetaste wird das Trennzeichen erstellt.
quelle
Setzen Sie die Texteigenschaft auf einen Bindestrich.
quelle
Horizontale Trennzeichen sind cool, aber was ist, wenn Sie stattdessen ein vertikales Trennzeichen möchten?
Nun, mach dir keine Sorgen - du kannst eins haben!
Setzen Sie die
BarBreak
Eigenschafttrue
auf die,MenuItem
die die erste nach dem Trennzeichen sein soll:So fügen Sie den Artikel einer
MenuItems
Sammlung hinzu :yourContextMenu.MenuItems.Add(item)
.quelle
Vielleicht haben sie dies in späteren Versionen von Visual Studio einfacher gemacht. Ich verwende VS 2012. Sie können über den Formular-Designer ein Trennzeichen hinzufügen. 1) Wählen Sie einen MenuStrip aus. 2) Klicken Sie bei "Hier eingeben" mit der rechten Maustaste. 3) Wählen Sie "Einfügen". 4) Wählen Sie "Separator". 5) Ziehen Sie das neue Trennzeichen auf den Text, über dem es sich befinden soll. Getan.
quelle
ContextMenu
hat einen Konstruktor, der ein Array vonMenuItem
Objekten empfängt . Natürlich können Sie diesem Array keine Zeichenfolge hinzufügen. Sie können jedoch einen Separator erhalten, indem Sie Folgendes hinzufügennew MenuItem("-")
:quelle