【发布时间】:2010-12-31 21:27:01
【问题描述】:
我正在尝试将原本用于 MenuStrip 的代码转换为可用于 ToolStrip 的代码。简而言之,将 MenuItem 传递给 Init() ,我需要确定相关菜单项的父项是什么。这个 sn-p 与 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”
【问题讨论】:
-
那么
I can't seem to get it working with a ToolStrip是什么意思?错误/异常或其他行为? -
更新了我目前尝试使用的问题。
-
您收到错误
Cannot convert type 'System.Windows.Forms.ToolStrip' to 'System.Windows.Forms.ToolStripMenuItem',因为Owner是ToolStrip的类型,而不是ToolStripMenuItem。 -
好吧,这很有道理。那么我应该如何找到 ToolStripMenuItem 的父级,因为它没有标准 MenuItem 那样的“父级”属性。