我希望实现的是提取选择项目文本并将其显示在消息框中(对于开始,我将使用它进行SQL查询...)
我想提取特定的选定ITEM,例如:“SPR(Suivi片段转换)”,如下图所示:
我尝试了这个,但当我点击“菜单”时,它会返回菜单条“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。
提前致谢。
答案 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