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 に答える