代码之家  ›  专栏  ›  技术社区  ›  RicardoBalda

如何在没有鼠标事件(单击或双击事件)的情况下使用ToolStripMenuItems?

  •  1
  • RicardoBalda  · 技术社区  · 14 年前

    但是我需要实现菜单导航而不需要任何鼠标的干预。

    我只在ToolStripMenuItems、MenuStrip等中找到鼠标事件。

    所有的MenuStrip和ToolStripMenuItems都是以编程方式创建的,从数据库中读取用户权限,然后添加一个处理程序来管理事件,但是客户机不需要鼠标交互,他只需要键盘输入!。

        Private Sub AddModulo(ByVal strNAME As String, ByVal strTITULO As String)
    
        Dim oToolStripMenuItem As New ToolStripMenuItem(strTITULO)
    
        oToolStripMenuItem.Name = strNAME
        oToolStripMenuItem.Text = "&" & strTITULO
    
    
        mnuPrincipal.Items.Add(oToolStripMenuItem)
        AddHandler oToolStripMenuItem.MouseMove, AddressOf LoadMenu
    
    
    End Sub
    

    添加项目例程:

        Private Sub AddItems(ByVal StrModulo As String, ByVal strItem As String)
    
        Dim mnuItem As New ToolStripMenuItem
    
        mnuItem.Name = StrModulo.ToUpper
        mnuItem.Size = New System.Drawing.Size(145, 22)
    
        If Microsoft.VisualBasic.Left(strItem, 1) = "-" Then
    
            mnuItem.Text = "                " & Microsoft.VisualBasic.Mid(strItem.ToUpper, 2)
            mnuItem.BackColor = Color.Blue
            mnuItem.ForeColor = Color.White
    
        Else
            mnuItem.Text = strItem
        End If
    
        mnuItem.Tag = UCase(Mid(StrModulo, 5, 2))
    
        AddHandler mnuItem.Click, AddressOf LoadMenuItem
    
        Dim newOption = mnuPrincipal.Items(mnuPrincipal.Items.Count - 1)
        newOption.DropDownItems.Add(mnuItem)
    
    End Sub
    

    2 回复  |  直到 12 年前
        1
  •  3
  •   Dean Kuga    14 年前

    这是非常基本的东西,所以如果这不是你需要的,就忽略这个答案,但在我看来,这就是你要问的。

    总之,ToolStripMenuItems很容易通过键盘访问。。。

    如果从工具箱将MenuStrip插入表单,然后使用MenuStrip任务中的“insert Standard Items”选项插入标准菜单项,则在启动winforms应用程序时,如果按Alt键,则会注意到每个顶级ToolStripMenuItem中的字母都带有下划线。这将警告您,如果您同时按下该键和Alt键,则该ToolStripMenuItem的子项可用。例如,如果按Alt+F,将删除“文件”菜单。

    除此之外,通过使用ToolStripMenuItem的“ShortcutKeys”属性,可以轻松地为每个ToolStripMenuItem分配快捷键。如果在设计器中下拉所选ToolStripMenuItem的“ShortcutKeys”属性,则可以选择要与该修饰符组合使用的修饰符(Ctrl、Shift、Alt)和键盘键(对于“文件”>“打开”,通常为Ctrl+O)。使用同样的方法,您可以为您自己添加到菜单条的任何ToolStripMenuItem分配一个键盘快捷键。。。

    希望这能帮助。。。

        2
  •  1
  •   jasonk    14 年前

    使用建议的快捷方式,但也要在基本菜单容器中将TabStop设置为True。它允许键盘通过tab键和箭头键访问菜单。