如何:向 ToolStripMenuItem 添加增强功能
更新:2007 年 11 月
可以采用下列方式增强 MenuStrip 和 ContextMenuStrip 控件的可用性:
添加选中标记以指定打开或关闭某项功能(例如是否沿字处理应用程序的边距显示标尺),或指示显示的是一列文件中的哪一个(如在“窗口”菜单上)。
添加可视化地表示菜单命令的图像。
显示快捷键以提供代替鼠标执行命令的键盘。例如,按 Ctrl+C 执行 Copy 命令。
显示访问键以提供代替鼠标进行菜单导航的键盘。例如,按 Alt+F 选择“文件”菜单。
显示分隔线以便对相关命令进行分组,提高菜单的可读性。
显示菜单命令的选中标记
将其 Checked 属性设置为 true。
这会将 CheckState 属性也设置为 true。仅在以下情况使用此过程:无论是否选择菜单命令,只要该命令出现,都希望默认情况下为选中状态。
显示随每次单击更改状态的选中标记
- 将菜单命令的 CheckOnClick 属性设置为 true。
向菜单命令添加图像
- 将菜单命令的 Image 属性设置为图像的名称。如果此菜单命令的 ToolStripItemDisplayStyle 属性设置为 Text 或 None,则无法显示该图像。
说明: |
---|
图像边距也可以显示选中标记(如果您选择)。此外,您还可以将图像的 Checked 属性设置为 true,这样,在运行时显示的图像周围将带有一个阴影框。 |
显示菜单命令的快捷键
- 将菜单命令的 ShortcutKeys 属性设置为所需的键盘组合(如 Ctrl+O 表示“打开”菜单命令),并将 ShowShortcutKeys 属性设置为 true。
显示菜单命令的自定义快捷键
- 将菜单命令的 ShortcutKeyDisplayString 属性设置为所需的键盘组合(如 Ctrl+Shift+O,而不是 Shift+Ctrl+O),并将 ShowShortcutKeys 属性设置为 true。
显示菜单命令的访问键
设置菜单命令的 Text 属性时,在您要为其加上下划线以作为访问键的字母前面输入一个“and”符 (&)。例如,键入 &Open 作为菜单项的 Text 属性将使菜单命令显示为 Open。
若要定位到此菜单命令,请按 Alt 键使 MenuStrip 得到焦点,然后按该菜单名的访问键。当菜单打开并显示带访问键的项时,只需按访问键就可选择菜单命令。
说明: |
---|
避免定义重复的访问键,如在同一个菜单系统中两次定义 Alt+F。重复访问键的选择顺序无法保证。 |
在菜单命令之间显示分隔线
定义了 MenuStrip 及其包含的项之后,请使用 AddRange 或 Add 方法将菜单命令和 ToolStripSeparator 控件按所需顺序添加到 MenuStrip 中。
[Visual Basic]
' 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})
[C#]
// 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});