如何从菜单条显示下拉项目TEXT

时间:2013-07-18 09:25:57

标签: vb.net menustrip

我希望实现的是提取选择项目文本并将其显示在消息框中(对于开始,我将使用它进行SQL查询...)

我想提取特定的选定ITEM,例如:“SPR(Suivi片段转换)”,如下图所示:

enter image description here

我尝试了这个,但当我点击“菜单”时,它会返回菜单条“MenuStrip1”的名称:

Private Sub MenuStrip1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuStrip1.Click
    MessageBox.Show(DirectCast(sender, MenuStrip).Name)
End Sub

编辑:

我忘了提到所有的ITEMS都是从数据库中动态添加的, 因此,这些项目将没有预定义的Private Sub .... End Sub Procedure。

提前致谢。

1 个答案:

答案 0 :(得分:0)

MenuStrip对象仅指实际的菜单条本身,而不是单个菜单项,它们实际上是ToolStripMenuItem对象。您正在寻找这些对象的Text属性。例如:

DirectCast(YourDynamicMenuItemObjectHere, ToolStripMenuItem).Text

如果您正在寻找捕获事件的方法,则需要创建一个通用事件处理程序:

Private Sub GenericMenuItem_Click(sender As System.Object, e As System.EventArgs)
    MessageBox.Show(DirectCast(sender, ToolStripMenuItem).Text)
    'Whatever else you need to do based on the text of the menu item
End Sub

然后在创建菜单项时将该处理程序挂钩:

'Code that creates YourDynamicallyGeneratedMenuItem
AddHandler YourDynamicallyGeneratedMenuItem.Click, AddressOf GenericMenuItem_Click