如何:向 ToolStripMenuItem 添加增强功能

可以通过以下方式增强 MenuStripContextMenuStrip 控件的可用性:

  • 添加复选标记以指定某个功能是打开还是关闭,例如是否在文字处理应用程序的边距中显示标尺,或指示正在显示文件列表中的哪个文件,例如在“窗口”菜单中

  • 添加直观呈现菜单命令的图像。

  • 显示快捷键,以提供鼠标的键盘替代项来执行命令。 例如,按 CTRL+C 会执行“Copy”命令

  • 显示访问键,提供鼠标的键盘替代项来进行菜单导航。 例如,按 ALT+F 选择“文件”菜单

  • 显示分隔条,以对相关命令进行分组并使菜单更具可读性。

在菜单命令上显示复选标记

  • 将它的 Checked 属性设置为 true

    这也会将 CheckState 属性设置为 true。 仅当希望菜单命令默认显示为选中时才使用此过程,无论它是否被选中。

显示随每次单击而更改状态的复选标记

将图像添加到菜单命令

注意

如果你愿意,图像边距也可以显示复选标记。 此外,还可以将图像的 Checked 属性设置为 true,在运行时,图像周围将显示阴影边框。

显示菜单命令的快捷键

  • 将菜单命令的 ShortcutKeys 属性设置为所需的键盘组合(例如针对“打开”菜单命令,为 CTRL+O),并将 ShowShortcutKeys 属性设置为 true

显示菜单命令的自定义快捷键

显示菜单命令的访问键

  • 为菜单命令设置 Text 属性时,请在希望为其添加下划线以将其作为访问键的字母之前输入一个与号 (&)。 例如,键入 &Open 作为菜单项的 Text 属性将导致菜单命令显示为 Open。

    要导航到此菜单命令,请按 ALT 将焦点放在 MenuStrip 上,然后按菜单名称的访问键。 当菜单打开并显示带有访问键的项时,只需按访问键即可选择菜单命令。

注意

避免定义重复的访问键,例如在同一菜单系统中定义两次 ALT+F。 无法保证重复访问键的选择顺序。

在菜单命令之间显示分隔条

  • 定义 MenuStrip 及其将包含的项后,使用 AddRangeAdd 方法将菜单命令和 ToolStripSeparator 控件按所需顺序添加到 MenuStrip

    ' This code adds a top-level File menu to the MenuStrip.  
    Me.menuStrip1.Items.Add(New ToolStripMenuItem() _  
    {Me.fileToolStripMenuItem})  
    
    ' This code adds the New and Open menu commands, a separator bar,
    ' and the Save and Exit menu commands to the top-level File menu,
    ' in that order.  
    Me.fileToolStripMenuItem.DropDownItems.AddRange(New _  
    ToolStripMenuItem() {Me.newToolStripMenuItem, _  
    Me.openToolStripMenuItem, Me.toolStripSeparator1, _  
    Me.saveToolStripMenuItem, Me.exitToolStripMenuItem})  
    
    // This code adds a top-level File menu to the MenuStrip.  
    this.menuStrip1.Items.Add(new ToolStripItem[]_  
    {this.fileToolStripMenuItem});  
    
    // This code adds the New and Open menu commands, a separator bar,
    // and the Save and Exit menu commands to the top-level File menu,
    // in that order.  
    this.fileToolStripMenuItem.DropDownItems.AddRange(new _  
    ToolStripItem[] {  
    this.newToolStripMenuItem,  
    this.openToolStripMenuItem,  
    this.toolStripSeparator1,  
    this.saveToolStripMenuItem,  
    this.exitToolStripMenuItem});  
    

另请参阅