禁用所有菜单项

时间:2013-08-10 06:25:00

标签: vb.net

如何在上下文菜单中禁用包含分隔符项的所有菜单项?

我的方法:

    For Each item As ToolStripMenuItem In ContextMenuStrip1.Items
        item.Enabled = False
    Next
如果我在菜单中没有分隔符但是使用分隔符我会收到错误,

工作正常:

  

无法转换类型为#System; Winds.Forms.ToolStripSeparator'的对象输入' System.Windows.Forms.ToolStripMenuItem'。

如何禁用菜单中包含分隔符项的所有项目?

1 个答案:

答案 0 :(得分:2)

代码示例(未经测试)以说明我的评论:

For i = 0 To ContextMenuStrip1.Items.Count - 1
    If TypeOf ContextMenuStrip1.Items(i) Is ToolStripMenuItem Then
        CType(ContextMenuStrip1.Items(i), ToolStripMenuItem).Enabled = False
    End If
Next

基本上,您会浏览菜单中的所有项目,如果当前项目的类型为ToolStripMenuItem,则会将其停用。