.ContextMenu和.ContextMenuStrip之间的区别

Windows Forms中.ContextMenu.ContextMenuStrip之间有什么区别?

我已经知道一个ContextMenu是什么,但是ContextMenuStripContextMenu什么不同呢?

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

你可能想知道为什么微软已经用新手取代了一个有价值和受欢迎的控制。 ContextMenuStrip控件采取了一个好主意,并使其更好。 它就像ContextMenu控件一样工作。 您仍然通过更改该控件的ContextMenuStrip属性将ContextMenuStrip控件附加到另一个用户控件。 但是,Microsoft已经大幅改进了可添加到ContextMenuStrip的function。

看看MSDN上的例子:

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

ContextMenuStripreplaceContextMenu 。 您可以将ContextMenuStrip与任何控件相关联,然后单击鼠标右键自动显示快捷菜单。 您可以使用Show方法以编程方式显示ContextMenuStripContextMenuStrip支持取消打开和closures事件来处理dynamic填充和多点击场景。 ContextMenuStrip支持图片,菜单项检查状态,文本,访问键,快捷键和级联菜单。

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

如果ContextMenu也被分配给控件,则ContextMenu优先于ContextMenuStrip

从文档

ContextMenuStripreplaceContextMenu。

根据MSDN ,ContextMenuStrip取代了ContextMenu类:

尽pipeContextMenuStripreplace并添加了以前版本的ContextMenu控件的function,但是如果您select,则会保留ContextMenu以实现向后兼容性和将来的使用。

来源: MSDN – ContextMenu

编辑:为什么-1?

contextMenu – msdn和contextMenuStrip – msdn

contextMenu – 表示快捷菜单。 尽pipeContextMenuStripreplace并添加了以前版本的ContextMenu控件的function,但是如果您select,则会保留ContextMenu以实现向后兼容性和将来的使用。

ContextMenuStripreplace并添加function到先前版本的ContextMenu控件

如果你对ContextMenu感兴趣,你会注意到ContextMenuStrip取代了它,但是为了兼容性的目的, ContextMenu已经被留下了。