C# – 将MenuStrip代码转换为ToolStrip

我试图将最初用于MenuStrip的代码转换为可与ToolStrip一起使用的代码。 简而言之,将MenuItem传递给Init(),我需要确定所讨论的菜单项的父项。 这个代码段可以正常使用MenuStrip,但我似乎无法使用ToolStrip,其中父项是ToolStripDropDownButton。

原始代码片段(MenuStrip的理想选择):

private MenuItem menuItemMRU; private MenuItem menuItemParent; public void Init(MenuItem mruItem) { menuItemMRU = mruItem; menuItemParent = (MenuItem) menuItemMRU.Parent; } 

这是我到目前为止所得到的

 private ToolSTripMenuItem menuItemMRU; private ToolStripDropDownButton menuItemParent; public void Init(ToolStripMenuItem mruItem) { menuItemMRU = mruItem; menuItemParent = (ToolStripMenuItem)menuItemMRU.Owner; } 

这给了我以下错误:

无法将类型’System.Windows.Forms.ToolStrip’转换为’System.Windows.Forms.ToolStripMenuItem’

但是, ToolStripItem具有OwnerItem属性。 见msdn