更新:2007 年 11 月
可以通过 MenuStrip 控件为窗体提供标准菜单。
此演练演示如何使用 MenuStrip 控件创建标准菜单。窗体还将在用户选择菜单项时作出响应。本演练演示了以下任务:
- 创建 Windows 窗体项目。 
- 创建标准菜单。 
- 创建 StatusStrip 控件。 
- 处理菜单项的选择。 
完成以上步骤后,您将得到一个包含标准菜单的窗体,该窗体在一个 StatusStrip 控件中显示菜单项的选择情况。
若要将本主题中的代码作为一个单独的清单进行复制,请参见如何:向窗体提供标准菜单项。
| .gif) 说明: | 
|---|
| 显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 | 
先决条件
若要完成本演练,您需要:
- 足以在安装了 Visual Studio 的计算机上创建和运行 Windows 窗体应用程序项目的权限。
创建项目
第一步是创建项目并设置窗体。
创建项目
- 创建一个名为“StandardMenuForm”的 Windows 应用程序项目。 - 有关更多信息,请参见如何:创建 Windows 应用程序项目。 
- 在 Windows 窗体设计器中,选择该窗体。 
创建标准菜单
Windows 窗体设计器能够自动以标准菜单项填充 MenuStrip 控件。
创建标准菜单
- 从“工具箱”中将一个 MenuStrip 控件拖动到窗体上。 
- 单击 MenuStrip 控件的智能标记标志符号 ( .gif) ),然后选择“插入标准项”。 ),然后选择“插入标准项”。- MenuStrip 控件会用标准菜单项进行填充。 
- 单击“文件”菜单项以查看其默认菜单项和对应的图标。 
创建 StatusStrip 控件
使用 StatusStrip 控件显示 Windows 窗体应用程序的状态。在本示例中,用户选择的菜单项显示于 StatusStrip 控件中。
创建 StatusStrip 控件
- 从“工具箱”中将一个 StatusStrip 控件拖动到窗体上。 - StatusStrip 控件自动停靠于窗体的底部。 
- 单击 StatusStrip 控件的下拉按钮并选择“StatusLabel”,将一个 ToolStripStatusLabel 控件添加到 StatusStrip 控件中。 
处理项的选择
处理 DropDownItemClicked 事件以在用户选择菜单项时作出响应。
处理菜单项的选择
- 单击在“创建标准菜单”一节中创建的“文件”菜单项。 
- 在“属性”窗口中,单击“事件”。 
- 双击 DropDownItemClicked 事件。 - Windows 窗体设计器为 DropDownItemClicked 事件生成一个事件处理程序。 
- 将下面的代码插入到事件处理程序中。 - ' This method is the DropDownItemClicked event handler. ' It passes the ClickedItem object to a utility method ' called UpdateStatus, which updates the text displayed ' in the StatusStrip control. Private Sub FileToolStripMenuItem_DropDownItemClicked( _ ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) _ Handles FileToolStripMenuItem.DropDownItemClicked Me.UpdateStatus(e.ClickedItem) End Sub- // This method is the DropDownItemClicked event handler. // It passes the ClickedItem object to a utility method // called UpdateStatus, which updates the text displayed // in the StatusStrip control. private void fileToolStripMenuItem_DropDownItemClicked( object sender, ToolStripItemClickedEventArgs e) { this.UpdateStatus(e.ClickedItem); }
- 将 UpdateStatus 实用工具方法的定义插入到窗体中。 - ' This utility method assigns the value of a ToolStripItem ' control's Text property to the Text property of the ' ToolStripStatusLabel. Private Sub UpdateStatus(ByVal item As ToolStripItem) If item IsNot Nothing Then Dim msg As String = String.Format("{0} selected", item.Text) Me.StatusStrip1.Items(0).Text = msg End If End Sub- // This utility method assigns the value of a ToolStripItem // control's Text property to the Text property of the // ToolStripStatusLabel. private void UpdateStatus(ToolStripItem item) { if (item != null) { string msg = String.Format("{0} selected", item.Text); this.statusStrip1.Items[0].Text = msg; } }
检查点
测试窗体
- 按 F5 编译并运行窗体。 
- 单击“文件”菜单项以打开该菜单。 
- 在“文件”菜单上,单击其中一个菜单项以选择该项。 - StatusStrip 控件显示了已选择的项。 
后续步骤
在此演练中,您创建了一个包含标准菜单的窗体。ToolStrip 系列控件有很多其他用途:
- 使用 ContextMenuStrip 来创建控件的快捷菜单。有关更多信息,请参见 ContextMenu 组件概述(Windows 窗体)。 
- 创建包含停靠的 ToolStrip 控件的多文档界面 (MDI) 窗体。有关更多信息,请参见演练:创建具有菜单合并功能和 ToolStrip 控件的 MDI 窗体。 
- 赋予 ToolStrip 控件专业的外观。有关更多信息,请参见如何:为应用程序设置 ToolStrip 呈现程序。