如何克隆菜单项的子菜单?

时间:2016-12-13 12:07:13

标签: .net vb.net winforms

我已经想出了如何克隆孔菜单项,但如果我点击它,它首先打开菜单项名称的名称(在此示例中为 general ),然后显示我的子菜单(儿童菜单)。 这就是我现在所拥有的:

Private Sub ConstruirContextMenu(ByVal MenuItem As System.Windows.Forms.MenuItem)

    Dim cmEdit = New ContextMenu
    cmEdit.MenuItems.Add(MenuItem.CloneMenu())
    'Set ContextMenu component of form
    ContextMenu = cmEdit

End Sub

这是调用该子代码的代码:

Private Sub Image_mnuGeneral_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Image_mnuGeneral.Click, Text_mnuGeneral.Click


    ConstruirContextMenu(Me.MainMenu.MenuItems(0))
    'Me.MainMenu.MenuItems(0).Visible = False

    ContextMenu.Show(Me.Image_mnuGeneral, New System.Drawing.Point(Me.UWP_PanelMenu.Width, 0))

    TratarOpcionesUWPMenu(UWPMenu_General)

End Sub

我会照片here来更好地解释我的需求。 我需要的是,当点击黑色菜单中的项目时,只会直接显示子菜单。

谢谢,抱歉我的英语不好&解释

1 个答案:

答案 0 :(得分:0)

我已在For Each中添加简单ConstruirContextMenu Sub来解决此问题。 我做过这样的事情并且有效:

Private Sub ConstruirContextMenu(ByVal MenuItem As System.Windows.Forms.MenuItem)

    Dim cmEdit = New ContextMenu
    For Each SubMenu As System.Windows.Forms.MenuItem In MenuItem.MenuItems
        cmEdit.MenuItems.Add(SubMenu.CloneMenu())
    Next

    'Set ContextMenu component of form
    ContextMenu = cmEdit

End Sub

解决这个问题的简单方法,但它有效。