2010-12-31 5 views
2

원래 MenuStrip 용이었던 코드를 ToolStrip과 호환되는 것으로 변환하려고합니다. 간단히 말해서 MenuItem은 Init()에 전달되고 문제의 메뉴 항목에 부모가 무엇인지 판별해야합니다. 이 스 니펫은 MenuStrip에서 잘 작동하지만 부모가 ToolStripDropDownButton 인 ToolStrip에서 작동하지는 않습니다. (이상적인 MenuStrip에 대한)- MenuStrip 코드를 ToolStrip으로 변환

원본 코드 조각은 :

유형을 변환 할 수 없습니다

:

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'to 'System.Windows.Forms.ToolStripMenuItem'

+0

'ToolStrip으로 작업 할 수 없다'는 것은 무엇을 의미합니까? 오류/예외 또는 다른 동작? – decyclone

+0

현재 사용하려고 시도하고있는 질문으로 업데이트되었습니다. – user

+0

'Owner'는'ToolStripMenuItem'이 아닌'ToolStrip' 유형이므로 'System.Windows.Forms.ToolStrip'형식을 'System.Windows.Forms.ToolStripMenuItem'형식으로 변환 할 수 없습니다라는 오류가 발생합니다. – decyclone

답변

1

012 그러나에는 OwnerItem 속성이 있습니다. msdn