我试图获取上下文菜单的源代码管理名称。当你运行ToolStripMenuItem和ContextMenuStrip时,它工作正常,但我也有一个下拉ToolStripMenuItem,它不会工作相同。我尝试了使用CastStripDropDownItem,ToolStripDropdown,ToolStripMenuItem的不同方法,但我总是得到"对象引用没有设置为对象的实例。"错误。这里尝试了一些(两个相同的错误):
Private Sub MicrosoftWordToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MicrosoftWordToolStripMenuItem.Click
'Dim BtnbWord As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
'Dim BtnNew As ToolStripMenuItem = CType(BtnWord.OwnerItem, ToolStripMenuItem)
'Dim Kontexst_M As ContextMenuStrip = CType(BtnNew.Owner, ContextMenuStrip)
Dim BtnWord As ToolStripDropDownItem = CType(sender, ToolStripDropDownItem)
Dim BtnNew As ToolStripDropDown = CType(BtnWord.Owner, ToolStripDropDown)
Dim Kontext_M As ContextMenuStrip = CType(BtnNew.OwnerItem.Owner, ContextMenuStrip)
'I need source control name to handle my click event of this toolstrip item
If Kontext_M.SourceControl.Name= "Listview1" then
Msgbox("Listview1")
End If
关于如何获取源代码管理名称的任何想法?...如果您想知道,我需要这个来处理右键单击以创建Word文档:
答案 0 :(得分:0)
这就是我用来获取“子上下文菜单”的源代码控制的内容:
Dim sc As Control = CType(CType(sender.Owner, ToolStripDropDownMenu).OwnerItem.Owner, ContextMenuStrip).SourceControl