web-dev-qa-db-fra.com

Comment ajouter un séparateur à un menu contextuel WinForms?

Sous mon contrôle, j'ai:

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

Comment ajouter une ligne de séparation à ce ContextMenu?

96
Adam Pierce

Je pense que ce n'est qu'un tiret:

ContextMenu.MenuItems.Add("-");
211
SqlRyan

Cela fonctionne aussi bien que le tiret, et je soupçonne que Winforms traduira le tiret en un ToolStripSeparator. Pour ma part, je pense que cette solution est plus évidente pour quiconque doit maintenir le code.

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

Dans WPF:

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

Si vous utilisez Designer, placez un trait d'union "-" comme texte de la même manière que vous nommeriez vos éléments de menu. Après avoir appuyé sur Entrée, le séparateur sera créé.

7
Aziz

Définissez la propriété de texte sur un trait d'union.

3
shahkalpesh

Peut-être que dans les versions ultérieures de Visual Studio, cela a rendu cela plus simple. J'utilise VS 2012. Vous pouvez ajouter un séparateur via le concepteur de formulaires. 1) Sélectionnez/créez une bande de menu. 2) Sur "Tapez ici", souris droite. 3) Sélectionnez "Insérer". 4) Sélectionnez "Séparateur". 5) Faites glisser le nouveau séparateur vers le texte que vous souhaitez qu'il soit au-dessus. Terminé.

0
JimMoore