我目前正在做一个项目,在这个项目中,用户可以右键单击一个按钮,它将显示一个ContextMenuStrip。我已经能够从该条带中准确地找到所有者,并操作单击的按钮,如下所示:
Dim myItem As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
Dim cms As ContextMenuStrip = CType(myItem.Owner, ContextMenuStrip)
Dim buttonPressed As DataButton = DirectCast(cms.SourceControl, DataButton)
但现在对于棘手的部分。在这个ContextMenuStrip中,我有一个下拉菜单,其中包含多个项目。我想你可以像上面那样沿着梯子往上爬。
ToolStripDrowpDownItem > ToolStripDropDownMenu > ToolStripMenuItem > ContextMenuStrip
不幸的是,当我试图从这个菜单中获取sourcecontrol时,它什么也没有返回。关于如何从这个工具条菜单项中获得按下的按钮有什么想法吗?我当前的代码如下(其中sourcecontrol为Nothing)
Dim myItem As ToolStripDropDownItem = CType(sender, ToolStripDropDownItem)
Dim dropDown As ToolStripDropDownMenu = CType(myItem.Owner, ToolStripDropDownMenu)
Dim menuItem As ToolStripMenuItem = CType(dropDown.OwnerItem, ToolStripMenuItem)
Dim cms As ContextMenuStrip = CType(menuItem.Owner, ContextMenuStrip)
Dim buttonPressed As DataButton = DirectCast(cms.SourceControl, DataButton)
关于如何去做我在第一种方法中所做的事情,有什么想法吗,但只是从梯子的下面往上爬?