What are the differences between .ContextMenu and .ContextMenuStrip in Windows Forms?
I already know what a ContextMenu is, but ho
From the doc
ContextMenuStrip replaces ContextMenu.
http://www.informit.com/articles/article.aspx?p=606224&seqNum=2
You might wonder why Microsoft has replaced a valuable and popular control with a newcomer. The
ContextMenuStripcontrol takes a good idea and makes it better. It works just like theContextMenucontrol. You still attach aContextMenuStripcontrol to another user control by changing that control’sContextMenuStripproperty. However, Microsoft has substantially improved the features you can add to aContextMenuStripcont...
Look at the examples at MSDN:
http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx
ContextMenuStripreplacesContextMenu. You can associate aContextMenuStripwith any control, and a right mouse click automatically displays the shortcut menu. You can show aContextMenuStripprogrammatically by using the Show method.ContextMenuStripsupports cancelable Opening and Closing events to handle dynamic population and multiple-click scenarios.ContextMenuStripsupports images, menu-item check state, text, access keys, shortcuts, and cascading menus.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.contextmenustrip.aspx
If a
ContextMenuhas also been assigned to the control, theContextMenutakes precedence over theContextMenuStrip.
contextMenu - msdn and contextMenuStrip - msdn
contextMenu - Represents a shortcut menu. Although ContextMenuStrip replaces and adds functionality to the ContextMenu control of previous versions, ContextMenu is retained for both backward compatibility and future use if you choose.
ContextMenuStrip replaces and adds functionality to the ContextMenu control of previous versions
According to the MSDN, the ContextMenuStrip replaces the ContextMenu class:
Although ContextMenuStrip replaces and adds functionality to the ContextMenu control of previous versions, ContextMenu is retained for both backward compatibility and future use if you choose.
Source: MSDN - ContextMenu
Edit: why the -1?
If you hoover over ContextMenu you'll notice that ContextMenuStrip replaces it but ContextMenu has been left for compatibility purposes.