ContextMenu:动态添加子菜单项 [英] ContextMenu: Dynamically adding sub menu items
问题描述
当我尝试动态地将第二个子菜单项添加到此ContextMenu
项时,我收到错误''指定参数超出有效范围
值''。
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,_
ByVal e As System.EventArgs)_
处理mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender,MenuItem)
mShowMenuItem.MenuItems。清除()
''第一个子菜单项添加时没有任何错误:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text =" Sub Item#1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click ,AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
''第二个子菜单项导致问题:
mSubMenuItem.Text ="子项目#2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
''错误发生在这里:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
结束子
我做错了什么?
谢谢
When I try to dynamically add a second sub menu item to this ContextMenu
item, I get an error ''Specified argument was out of the range of valid
values''.
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender, MenuItem)
mShowMenuItem.MenuItems.Clear()
'' The first sub menu item gets added withouot any errors:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text = "Sub Item #1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
'' This second sub menu item causes a problem:
mSubMenuItem.Text = "Sub Item #2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
''error occurs here:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
End Sub
What am I doing wrong?
Thanks
推荐答案
" tmaster" <乐******* @ travelmasterusa.com> schrieb
"tmaster" <le*******@travelmasterusa.com> schrieb
当我尝试动态地将第二个子菜单项添加到此
ContextMenu项时,我收到错误''指定的参数超出
有效值范围' '。
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs)_
处理mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender,MenuItem)
mShowMenuItem.MenuItems.Clear()
''第一个子菜单项添加了任何一个错误:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text =" Sub Item#1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
''这第二个子菜单项原因问题:
mSubMenuItem.Text =" Sub Item#2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
''错误发生在这里:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
结束子
我做错了什么?
您只创建一个菜单项但添加两次。这是不可能的。
你必须创建两个菜单项:
''...''这第二个子菜单项会导致一个问题:
When I try to dynamically add a second sub menu item to this
ContextMenu item, I get an error ''Specified argument was out of the
range of valid values''.
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs) _
Handles mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender, MenuItem)
mShowMenuItem.MenuItems.Clear()
'' The first sub menu item gets added withouot any errors:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text = "Sub Item #1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
'' This second sub menu item causes a problem:
mSubMenuItem.Text = "Sub Item #2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
''error occurs here:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
End Sub
What am I doing wrong?
You create only one menu item but you add it twice. This is not possible.
You have to create two menu items:
''... '' This second sub menu item causes a problem:
mSubMenuItem = New MenuItem()
mSubMenuItem.Text =" Sub Item#2"
'' ...
-
Armin
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html
mSubMenuItem = New MenuItem()
mSubMenuItem.Text = "Sub Item #2"
''...
--
Armin
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html
感谢您的帮助。我仍然在添加第二个
子菜单项时遇到问题。如果我只添加一个项目(任一个),它可以正常工作。当我按
添加''添加第二个子菜单项''段落时,子菜单
项目都没有出现。 (但是,我确实看到''箭头''表示有子b / b $ b $项)。这是代码:
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,_
ByVal e As System.EventArgs)_
处理mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender,MenuItem)
mShowMenuItem.MenuItems .Clear()
Dim mSubMenuItem As MenuItem
''添加第一个子菜单项。如果我不添加第二个子b / b
菜单项,则工作正常。
mSubMenuItem = New MenuItem()
mSubMenuItem.Text =" ;子项目#1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
''添加第二个子菜单项。现在,看不到任何子菜单项。
(?)
mSubMenuItem = New MenuItem()
mSubMenuItem.Text =" Sub Item #2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
结束子
再次感谢。
Armin Zingler < AZ ******* @ freenet.de>在消息中写道
新闻:OA ************** @ TK2MSFTNGP12.phx.gbl ...
Thanks for your help. I am still having a problem with adding the second
sub menu item. If I add only one item (either one), it works fine. When I
add the ''Add second sub menu item'' paragraph, then neither of the sub menu
items appear. (However, I do see the ''arrow'' indicating that there are sub
items). Here is the code:
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender, MenuItem)
mShowMenuItem.MenuItems.Clear()
Dim mSubMenuItem As MenuItem
'' Add first sub menu item. Works fine if I don''t add a second sub
menu item.
mSubMenuItem = New MenuItem()
mSubMenuItem.Text = "Sub Item #1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
'' Add second sub menu item. Now, cannot see either sub menu items.
(?)
mSubMenuItem = New MenuItem()
mSubMenuItem.Text = "Sub Item #2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
End Sub
Thanks again.
"Armin Zingler" <az*******@freenet.de> wrote in message
news:OA**************@TK2MSFTNGP12.phx.gbl...
" tmaster" <乐******* @ travelmasterusa.com> schrieb
"tmaster" <le*******@travelmasterusa.com> schrieb
当我尝试动态地将第二个子菜单项添加到此
ContextMenu项时,我收到错误''指定的参数超出
有效值范围' '。
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs)_
处理mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender,MenuItem)
mShowMenuItem.MenuItems.Clear()
''第一个子菜单项添加了任何一个错误:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text =" Sub Item#1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
''这第二个子菜单项原因问题:
mSubMenuItem.Text =" Sub Item#2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click,AddressOf MenuClickhandler
''错误发生在这里:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
结束子
我做错了什么?
When I try to dynamically add a second sub menu item to this
ContextMenu item, I get an error ''Specified argument was out of the
range of valid values''.
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs) _
Handles mnuTopics_Show.Select
Dim mShowMenuItem As MenuItem
mShowMenuItem = DirectCast(sender, MenuItem)
mShowMenuItem.MenuItems.Clear()
'' The first sub menu item gets added withouot any errors:
Dim mSubMenuItem As New MenuItem()
mSubMenuItem.Text = "Sub Item #1"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
mShowMenuItem.MenuItems.Add(mSubMenuItem)
'' This second sub menu item causes a problem:
mSubMenuItem.Text = "Sub Item #2"
mSubMenuItem.Enabled = True
mSubMenuItem.Visible = True
AddHandler mSubMenuItem.Click, AddressOf MenuClickhandler
''error occurs here:
mShowMenuItem.MenuItems.Add(mSubMenuItem)
End Sub
What am I doing wrong?
>
您只创建一个菜单项但添加两次。这是不可能的。
你必须创建两个菜单项:
''...
You create only one menu item but you add it twice. This is not possible.
You have to create two menu items:
''...
''这第二个子菜单项会导致问题:
'' This second sub menu item causes a problem:
mSubMenuItem = New MenuItem()
mSubMenuItem.Text =" Sub Item#2"
''...
- -
Armin
http:// www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html
" tmaster" <乐******* @ travelmasterusa.com> schrieb
"tmaster" <le*******@travelmasterusa.com> schrieb
感谢您的帮助。我仍然在添加第二个子菜单项时遇到问题。如果我只添加一个项目(任一个),它的工作原理很好。当我添加''添加第二个子菜单项''段落时,则
两个子菜单项都不会出现。 (但是,我确实看到''箭头''
表示有子项目)。这是代码:
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs)_
处理mnuTopics_Show.Select
Thanks for your help. I am still having a problem with adding the
second sub menu item. If I add only one item (either one), it works
fine. When I add the ''Add second sub menu item'' paragraph, then
neither of the sub menu items appear. (However, I do see the ''arrow''
indicating that there are sub items). Here is the code:
Private Sub mnuTopics_Show_Select(ByVal sender As System.Object,
_
ByVal e As System.EventArgs) _
Handles mnuTopics_Show.Select
处理Popup事件。
-
Armin
http://www.plig.net/nnq/nquote.html
< a rel =nofollowhref =http://www.netmeister.org/news/learn2quote.html\"target =_ blank> http://www.netmeister.org/news/learn2quote.html
Handle the Popup event instead.
--
Armin
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html
这篇关于ContextMenu:动态添加子菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!