Как добавить разделитель в меню WinForms на С#?

Внутри моего контроля у меня есть:

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"));

Что мне нужно сделать, чтобы сделать разделитель меню?

Ответ 1

Я считаю, что это просто тире:

ContextMenu.MenuItems.Add("-");

Ответ 2

Это работает так же хорошо, как и тире, и я подозреваю, что Winforms переведут тире в ToolStripSeparator. Я считаю, что это решение более очевидно для всех, кто должен поддерживать код.

yourContextMenu.Items.Add(new ToolStripSeparator());

Ответ 3

В WPF:

ContextMenu.MenuItems.Add(new Separator());

Ответ 4

Если вы используете конструктор, поместите один дефис "-" в виде текста так же, как и названия пунктов меню. После нажатия enter разделитель будет создан.

Ответ 5

Задайте свойство text для дефиса.

Ответ 6

Возможно, в более поздних версиях Visual Studio они сделали это проще. Я использую VS 2012. Вы можете добавить разделитель через конструктор форм. 1) Выберите /Create MenuStrip. 2) В поле "Тип здесь" щелкните правой кнопкой мыши. 3) Выберите "Вставить". 4) Выберите "Сепаратор". 5) Перетащите новый разделитель в текст, который вы хотите, чтобы он был выше. Готово.