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