Под моим контролем у меня есть:
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"));
Как добавить разделительную линию в это ContextMenu?
c#
winforms
contextmenu
separator
Адам Пирс
источник
источник
Ответы:
Я считаю, что это просто черточка:
источник
ContextMenu.Items.Add(new ToolStripSeparator());
см . Ответ ГабриэляЭто работает так же хорошо, как и тире, и я подозреваю, что Winforms переведет тире в ToolStripSeparator. Я, например, думаю, что это решение более очевидно для всех, кто должен поддерживать код.
источник
yourContextMenu.Items.Insert(3, new ToolStripSeparator());
, но нельзяInsert
тире "-".В WPF:
источник
Если вы используете Дизайнер, поместите один дефис «-» в качестве текста так же, как вы бы назвали свои пункты меню. После нажатия Enter будет создан разделитель.
источник
Установите для свойства текста дефис.
источник
Горизонтальные разделители - это круто, но что, если вам нужен вертикальный разделитель?
Что ж, не волнуйтесь - вы можете получить одну!
Установить
BarBreak
свойствоtrue
наMenuItem
который должен быть первым после разделителя:Чтобы добавить элемент в
MenuItems
коллекции:yourContextMenu.MenuItems.Add(item)
.источник
Возможно, в более поздних версиях Visual Studio это стало проще. Я использую VS 2012. Вы можете добавить разделитель через конструктор форм. 1) Выберите / создайте MenuStrip. 2) На «Введите здесь» правой кнопкой мыши. 3) Выберите «Вставить». 4) Выберите «Разделитель». 5) Перетащите новый разделитель к тексту, который вы хотите разместить выше. Готово.
источник
ContextMenu
имеет конструктор, который получает массивMenuItem
объектов. Излишне говорить, что вы не можете добавить строку в этот массив. Однако вы можете получить разделитель, добавивnew MenuItem("-")
:источник