web-dev-qa-db-fra.com

Différences entre .ContextMenu et .ContextMenuStrip

Quelles sont les différences entre .ContextMenu et .ContextMenuStrip dans Windows Forms?

Je sais déjà ce qu'est un ContextMenu, mais en quoi ContextMenuStrip est-il différent de ContextMenu?

51
thenonhacker

http://www.informit.com/articles/article.aspx?p=606224&seqNum=2

Vous vous demandez peut-être pourquoi Microsoft a remplacé un contrôle précieux et populaire par un nouveau venu. Le contrôle ContextMenuStrip prend une bonne idée et l'améliore. Il fonctionne exactement comme le contrôle ContextMenu. Vous attachez toujours un contrôle ContextMenuStrip à un autre contrôle utilisateur en modifiant la propriété ContextMenuStrip de ce contrôle. Cependant, Microsoft a considérablement amélioré les fonctionnalités que vous pouvez ajouter à un ContextMenuStrip cont ...

Regardez les exemples sur MSDN:

http://msdn.Microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx

ContextMenuStrip remplace ContextMenu. Vous pouvez associer un ContextMenuStrip à n'importe quel contrôle et un clic droit de la souris affiche automatiquement le menu contextuel. Vous pouvez afficher un ContextMenuStrip par programme en utilisant la méthode Show. ContextMenuStrip prend en charge les événements d'ouverture et de fermeture annulables pour gérer les scénarios de population dynamique et de clics multiples. ContextMenuStrip prend en charge les images, l'état de vérification des éléments de menu, le texte, les touches d'accès rapide, les raccourcis et les menus en cascade.

http://msdn.Microsoft.com/en-us/library/system.windows.forms.control.contextmenustrip.aspx

Si un ContextMenu a également été affecté au contrôle, le ContextMenu a priorité sur le ContextMenuStrip.

41
punker76

De la doc

ContextMenuStrip remplace ContextMenu.

7
shahkalpesh

Selon le MSDN , le ContextMenuStrip remplace la classe ContextMenu:

Bien que ContextMenuStrip remplace et ajoute des fonctionnalités au contrôle ContextMenu des versions précédentes, ContextMenu est conservé à la fois pour la compatibilité descendante et pour une utilisation future si vous le souhaitez.

Source: MSDN - ContextMen

Modifier: pourquoi le -1?

3
Rhapsody

contextMenu - msdn et contextMenuStrip - msdn

contextMenu - Représente un menu contextuel. Bien que ContextMenuStrip remplace et ajoute des fonctionnalités au contrôle ContextMenu des versions précédentes, ContextMenu est conservé à la fois pour la compatibilité descendante et pour une utilisation future si vous le souhaitez.

ContextMenuStrip remplace et ajoute des fonctionnalités au contrôle ContextMenu des versions précédentes

2
Nikolay Grudinin

Si vous passez la souris sur ContextMenu, vous remarquerez que ContextMenuStrip le remplace mais ContextMenu a été laissé à des fins de compatibilité.

1
Alex