2010-03-16 6 views

Répondre

1
`ToolStripItem.OwnerItem` [http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripitem.owneritem.aspx][1]

Ce la propriété peut être utilisée pour remonter l'arborescence des éléments de menu vers l'élément de niveau supérieur ... N'est-ce pas ce que vous recherchez juste la propriété Owner du menu?

var control = ((ContextMenuStrip)topLevelMenuItem.Owner).SourceControl; 

utiliser Évidemment as etc et faire vos chèques null ...

Si je manque peut-être l'endroit poster un extrait de code du menu construit par code pour clarifier les types (ContextMenu vs ContextMenuStrip etc)

PK :-)

+0

Avez-vous même essayé? Casting 'OwnerItem' à' ContextMenu' avec une instruction 'as' ne compile même pas (ie: un' ContextMenu' ne peut pas * être * un 'ToolStripItem'). –

+0

C'est le parent de l'élément de menu. –

+0

Voir la mise à jour ... –

0

je avais besoin d'utiliser la propriété Owner comme ContextMenuStrip.

ToolStripDropDownItem t = sender as ToolStripDropDownItem; 
if (t == null) 
    return null; 
ContextMenuStrip cm = t.Owner as ContextMenuStrip; 
if (cm == null) 
    return null; 
return cm.SourceControl; 
Questions connexes