ContextMenu:动态添加子菜单项 [英] ContextMenu: Dynamically adding sub menu items

查看:141
本文介绍了ContextMenu:动态添加子菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试动态地将第二个子菜单项添加到此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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆