我有一个工具条菜单,其条目名为" General"。当表单被加载时,子项被添加到" General"条目是读取文件夹中文本文件的文件名的结果。
我希望能够捕获子项的名称,并将它们添加到通用形式的标签中,该标签是通过单击子项调用的。
我尝试使用MsgBox(DirectCast(sender, ToolStripMenuItem).Text)
尝试最初捕获文本,然而,它只是给了我" General"消息框中的菜单项
我目前在DropDownItemClicked
事件
有什么想法吗?
答案 0 :(得分:1)
子菜单项位于集合ToolStripMenuItem.DropDownItems中。您可以遍历集合并选择ToolStripMenuItems。并非菜单中的每个项目都是ToolStripMenuItem(有分隔符,按钮等),因此您可以使用ToolStripItem进行循环。
此示例将所有子菜单项放在消息框中:
Private Sub mnuDraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuDraw.Click
Dim s As String = ""
For Each item As ToolStripItem In sender.DropDownItems
If TypeOf (item) Is ToolStripMenuItem Then s &= item.Text & vbCrLf
Next item
MsgBox(s)
End Sub