如何获得ContextMenu
所属的ToolStripDropDownItem
?这是为了将ContextMenu.SourceControl
用作逻辑 sender
添加到事件中。
答案 0 :(得分:1)
该属性可用于将菜单项树向上移动到顶级项目...仅仅是菜单的Owner
属性后的内容?
var control = ((ContextMenuStrip)topLevelMenuItem.Owner).SourceControl;
显然使用as
等进行空检查......
如果我遗漏了这个地方,可能会发布通过代码构建的菜单的代码片段来澄清类型(ContextMenu vs ContextMenuStrip等)
PK: - )
答案 1 :(得分:0)
我需要将Owner
属性用作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;