演练:向窗体提供标准菜单项

可使用 MenuStrip 控件向窗体提供标准菜单。

此演练演示如何使用 MenuStrip 控件创建标准菜单。 当用户选择菜单项时,窗体也会做出响应。 本演练演示了以下任务:

  • 创建 Windows 窗体项目。

  • 创建标准菜单。

  • 创建 StatusStrip 控件。

  • 处理菜单项选择。

完成后,你将拥有带有标准菜单的窗体,该菜单显示 StatusStrip 控件中的菜单项选择。

要将本主题中的代码复制为单个列表,请参阅如何:向窗体提供标准菜单项

先决条件

要完成本演练,必须具有 Visual Studio。

创建项目

  1. 在 Visual Studio 中,创建名为 StandardMenuForm 的 Windows 应用程序项目(“文件”>“新建”>“项目”>“Visual C#”或“Visual Basic”>“经典桌面”>“Windows 窗体应用程序”)>>>>>

  2. 在“Windows 窗体设计器”中选择窗体。

创建标准菜单

Windows 窗体设计器可以使用标准菜单项自动填充 MenuStrip 控件。

  1. 从“工具箱”中,将 MenuStrip 控件拖到窗体中

  2. 单击 MenuStrip 控件的设计器操作标志符号(Small black arrow),然后选择插入标准项

    使用标准菜单项填充 MenuStrip 控件。

  3. 单击“文件”菜单项以查看其默认菜单项和相应的图标

创建 StatusStrip 控件

使用 StatusStrip 控件显示 Windows 窗体应用程序的状态。 在当前示例中,用户选择的菜单项显示在 StatusStrip 控件中。

  1. 从“工具箱”中,将 StatusStrip 控件拖到窗体中

    StatusStrip 控件自动停靠到窗体的底部。

  2. 单击 StatusStrip 控件的下拉菜单按钮并选择“StatusLabel”,以将 ToolStripStatusLabel 控件添加到 StatusStrip 控件

处理项选择

处理 DropDownItemClicked 事件以在用户选择菜单项时做出响应。

  1. 单击你在“创建标准菜单”部分中创建的“文件”菜单项

  2. 在“属性”窗口中,单击“事件”

  3. 双击 DropDownItemClicked 事件。

    Windows 窗体设计器为 DropDownItemClicked 事件生成事件处理程序。

  4. 将下面的代码插入事件处理程序。

    // 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);
    }
    
    ' 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
    
  5. UpdateStatus 实用工具方法定义插入窗体中。

    // 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;
        }
    }
    
    ' 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
    

检查点 - 测试窗体

  1. 按 F5 编译并运行窗体

  2. 单击“文件”菜单项以打开菜单

  3. 在“文件”菜单上,单击其中一项以将其选中

    StatusStrip 控件显示所选项。

后续步骤

在本演练中,你创建了带有标准菜单的窗体。 可以将 ToolStrip 系列控件用于许多其他目的:

另请参阅