2010-12-31 2 views
2

Я пытаюсь преобразовать код, который изначально предназначался для MenuStrip, для чего-то, что будет работать с ToolStrip. Короче говоря, MenuItem передается в Init(), и мне нужно определить, что родительский элемент рассматриваемого пункта меню. Этот фрагмент отлично работает с помощью MenuStrip, но я не могу заставить его работать с ToolStrip, где родительский элемент - ToolStripDropDownButton.C# - Преобразование MenuStrip-кода в 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'

+0

И что вы подразумеваете под «Я не могу заставить его работать с ToolStrip'? Ошибка/исключение или какое-либо другое поведение? – decyclone

+0

Обновленный вопрос с тем, что я сейчас пытаюсь использовать. – user

+0

Вы получаете ошибку 'Can not convert type 'System.Windows.Forms.ToolStrip' в 'System.Windows.Forms.ToolStripMenuItem'', потому что' Owner' является типом 'ToolStrip', а не' ToolStripMenuItem'. – decyclone

ответ