Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 子菜单的发送者_Vb.net - Fatal编程技术网

Vb.net 子菜单的发送者

Vb.net 子菜单的发送者,vb.net,Vb.net,好吧,我会尽我所能解释这一点 我正在尝试从menustrip的子菜单中获取sender.name Menu1 -----Menu3 ----------Menu3 我想将标签文本设置为“Menu1 Menu2 Menu3” 我不知道这是否是足够的信息或解释,我正在尽我最大的努力。 你还没有解释清楚。你是说,当用户点击一个菜单项时,你想得到该菜单项的整个祖先链,例如,在Menu3的单击事件处理程序中,您希望能够发现它是Menu2的子项,而这是Menu1的子项?这就是我想要的,我只是不知道如何解

好吧,我会尽我所能解释这一点

我正在尝试从menustrip的子菜单中获取sender.name

Menu1
-----Menu3
----------Menu3
我想将标签文本设置为“Menu1 Menu2 Menu3”

我不知道这是否是足够的信息或解释,我正在尽我最大的努力。


你还没有解释清楚。你是说,当用户点击一个菜单项时,你想得到该菜单项的整个祖先链,例如,在Menu3的单击事件处理程序中,您希望能够发现它是Menu2的子项,而这是Menu1的子项?这就是我想要的,我只是不知道如何解释……我们都是Windows用户,因此缺乏编程经验并不能成为无法解释您希望在一个菜单中执行哪些步骤的借口应用您没有提到单击菜单项,但是使用Windows的每个人都知道单击。
Private Sub Menu3ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Menu3ToolStripMenuItem.Click
    Dim menuItemTexts As New List(Of String)
    Dim menuItem = DirectCast(sender, ToolStripMenuItem)

    menuItemTexts.Add(menuItem.Text)

    While menuItem.OwnerItem IsNot Nothing
        menuItem = DirectCast(menuItem.OwnerItem, ToolStripMenuItem)
        menuItemTexts.Insert(0, menuItem.Text)
    End While

    MessageBox.Show(String.Join(" ", menuItemTexts))
End Sub