我正在尝试将最初用于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”
最佳答案
但是,ToolStripItem
确实具有OwnerItem
属性。见msdn