2013-02-27 29 views
1

我有一些动态创建带有上下文菜单条的标签。当您右键单击标签时,会为您提供上下文菜单条。如何在单击上下文菜单条中的项目时获取文本?我知道这是一个非常简单的问题,但我需要一些帮助。 我试过右键单击时动态创建项目的文本

Private Sub DeleteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteToolStripMenuItem.Click 
     MsgBox(sender.Text) 
End Sub 

我试图让产生的ContextMenuStrip标签的文本。

回答

2

我认为你正在寻找该控件激发上下文菜单中,这样的事情:

Private Sub DeleteToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles DeleteToolStripMenuItem.Click 

    Dim menuItem As ToolStripItem = TryCast(sender, ToolStripItem) 
    If menuItem IsNot Nothing Then 
    Dim owner As ContextMenuStrip = TryCast(menuItem.Owner, ContextMenuStrip) 
    If owner IsNot Nothing Then 
     Dim sourceControl As Control = owner.SourceControl 
     MessageBox.Show(sourceControl.Text) 
    End If 
    End If 
End Sub 

转换为VB.Net从Determine what control the ContextMenuStrip was used on

+0

我试图让'标签的文本',而不是'contextmenustrip'。这会为此工作...? – 2013-02-27 17:46:28

+0

@Gordan什么是FileItem?标签或菜单项? – LarsTech 2013-02-27 17:49:11

+0

FileItem是一个标签。我会改变代码。对困惑感到抱歉。 – 2013-02-27 17:50:02

相关问题