gpt4 book ai didi

vb.net - 如何在运行时动态添加菜单项

转载 作者:行者123 更新时间:2023-12-04 22:26:40 24 4
gpt4 key购买 nike

关闭。这个问题需要details or clarity .它目前不接受答案。












想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题.

7年前关闭。




Improve this question




我可以使用以下代码向下执行子菜单列表:

Dim cm As GoContextMenu = New GoContextMenu(view) 'GoContextMenu  Inherits System.Windows.Forms.ContextMenu 

Dim subTop(1) As MenuItem ' if you have 2 submenu, then the array count is 2-1 = 1; subm(1)
Dim orMenu As New MenuItem("OR", New EventHandler(AddressOf Me.OrTopGateItem_Click))
Dim andMenu As New MenuItem("AND", New EventHandler(AddressOf Me.AndTopGateItem_Click))

cm.MenuItems.Add(New MenuItem("Type", subTop))

从上面的案例中,我设法创建了一个子菜单,如下图所示:
screen shot of my submenu outcome

如何在运行时动态添加更多子菜单?

谢谢你。

最佳答案

Public Class Form1


Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

Me.ContextMenuStrip = ContextMenuStrip1

Dim menu1 As New ToolStripMenuItem() With {.Text = "Menu Item 1", .Name = "mnuItem1"}
AddHandler menu1.Click, AddressOf mnuItem_Clicked
ContextMenuStrip1.Items.Add(menu1)

'Add a submenu to Menu 1
Dim menu2 As New ToolStripMenuItem() With {.Text = "Menu Item 2", .Name = "mnuItem2"}
'We have a reference to menu1 already, but here's how you can find the menu item by name...
For Each item As ToolStripMenuItem In ContextMenuStrip1.Items
If item.Name = "mnuItem1" Then
item.DropDownItems.Add(menu2)
AddHandler menu2.Click, AddressOf mnuItem_Clicked
End If
Next


End Sub

Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
ContextMenuStrip1.Hide() 'Sometimes the menu items can remain open. May not be necessary for you.
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
MsgBox("You've clicked " & item.Name)
End If
End Sub

End Class

关于vb.net - 如何在运行时动态添加菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com