MenuStrip项目启用/禁用vb.net

时间:2015-04-15 21:21:56

标签: vb.net

如何以编程方式启用或禁用MenuStrip项目。

如果我有这个例子

enter image description here

我想禁用item2和item3。试过

  MenuStrip1.Items("Item 1").Enabled = False
        MenuStrip1.Items(2).Enabled = False

3 个答案:

答案 0 :(得分:1)

按图片显示,您似乎要在下拉列表中禁用/启用内容。

每个顶级菜单项本身都是一个包含实际下拉项的对象 - MenuStrip只是它们的容器。因此,如果我有一个File | View | Tools菜单,则会有三个ToolStripMenuItem可供使用,每个都有DropDownItems个条目集合。所以:

ViewMenuItem.DropDownItems(2).Enabled = False

这将禁用“视图”菜单上的第3个下拉项。您的名字可能会被命名为ItemsToolStripMenuItem。 UI设计器不使用密钥来创建/添加新的下拉项,因此除非您手动添加它们,否则字符串重载将无法工作:

' create new DD item
Dim foo = New ToolStripMenuItem("Foo", Nothing, 
              AddressOf FooToolStripMenuItem_Click, "Foo")
' add to menu
ViewMenuItem.DropDownItems.Add(foo)

' access by key
ViewMenuItem.DropDownItems("Foo").Enabled = True

答案 1 :(得分:0)

只是添加到此。我使用VS Express 2013,ViewMenuItem.DropDownItems(2).Enabled = False对我不起作用。

我发现这样做了。

ShowRawDataToolStripMenuItem.Enabled = True

此例中的我的菜单名称为"显示原始数据"或" ShowRawData"

我希望这有助于其他人。

答案 2 :(得分:0)

我正在使用:

ContextMenuStrip1.Items.Item(1).Enabled = False
ContextMenuStrip1.Items.Item(2).Enabled = False