演练:向窗体提供标准菜单项
可以通过 MenuStrip 控件为窗体提供标准菜单。
此演练演示如何使用 MenuStrip 控件创建标准菜单。 窗体还将在用户选择菜单项时作出响应。 本演练演示了以下任务:
创建 Windows 窗体项目。
创建标准菜单。
创建 StatusStrip 控件。
处理菜单项的选择。
完成以上步骤后,您将得到一个包含标准菜单的窗体,该窗体在一个 StatusStrip 控件中显示菜单项的选择情况。
若要将本主题中的代码作为一个单独的清单进行复制,请参见如何:向窗体提供标准菜单项。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
系统必备
若要完成本演练,您需要:
- 足以在安装了 Visual Studio 的计算机上创建和运行 Windows 窗体应用程序项目的权限。
创建项目
第一步是创建项目并设置窗体。
创建项目
创建一个名为“StandardMenuForm”的 Windows 应用程序项目。
有关更多信息,请参见如何:创建新的 Windows 窗体应用程序项目。
在 Windows 窗体设计器中,选择该窗体。
创建标准菜单
Windows 窗体设计器能够自动以标准菜单项填充 MenuStrip 控件。
创建标准菜单
从**“工具箱”**中将一个 MenuStrip 控件拖动到窗体上。
单击 MenuStrip 控件的智能标记标志符号 (),然后选择**“插入标准项”**。
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 呈现程序。