Как добавить разделитель в меню WinForms в C #? - PullRequest
94 голосов
/ 29 августа 2009

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

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

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

Ответы [ 6 ]

209 голосов
/ 29 августа 2009

Я считаю, что это всего лишь тире:

ContextMenu.MenuItems.Add("-");
45 голосов
/ 04 мая 2011

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

yourContextMenu.Items.Add(new ToolStripSeparator());
11 голосов
/ 17 марта 2010

В WPF:

ContextMenu.MenuItems.Add(new Separator());
7 голосов
/ 29 августа 2009

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

3 голосов
/ 29 августа 2009

Установить свойство текста на дефис.

0 голосов
/ 14 ноября 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...