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
?
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ôleContextMenu
. Vous attachez toujours un contrôleContextMenuStrip
à 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 à unContextMenuStrip
cont ...
Regardez les exemples sur MSDN:
http://msdn.Microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx
ContextMenuStrip
remplaceContextMenu
. Vous pouvez associer unContextMenuStrip
à n'importe quel contrôle et un clic droit de la souris affiche automatiquement le menu contextuel. Vous pouvez afficher unContextMenuStrip
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, leContextMenu
a priorité sur leContextMenuStrip
.
De la doc
ContextMenuStrip remplace ContextMenu.
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?
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
Si vous passez la souris sur ContextMenu
, vous remarquerez que ContextMenuStrip
le remplace mais ContextMenu
a été laissé à des fins de compatibilité.