2

我正在尝试将原本用于 MenuStrip 的代码转换为可以与 ToolStrip 一起使用的代码。简而言之,将 MenuItem 传递给 Init() ,我需要确定相关菜单项的父项是什么。此代码段适用于 MenuStrip,但我似乎无法让它与父级为 ToolStripDropDownButton 的 ToolStrip 一起使用。

原始代码片段(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”

4

1 回答 1

1

然而,ToolStripItem确实有一个OwnerItem属性。见msdn

于 2011-01-01T00:18:06.217 回答