C# 中的 WinForms MenuItems 语法

WinForms MenuItems syntax in C#

我正在尝试编写一个基本的 Windows 表单。到目前为止,我已经得到了下面的代码。 Visual Studio 无法识别任何像这样的行 MainMenu.MenuItems.Add(itemFile);。每当我使用 MenuItems 时,程序都无法理解并给我一个错误。我检查了很多网站和教程,它们都使用这种语法,所以我觉得我在某处犯了错误。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Form
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MenuStrip MainMenu = new MenuStrip();
            this.MainMenuStrip = MainMenu;

            ToolStripMenuItem itemFile = new ToolStripMenuItem("&File");
            ToolStripMenuItem itemNew = new ToolStripMenuItem("&New");

            MainMenu.MenuItems.Add(itemFile);
            itemFile.MenuItems.Add(itemNew);

            ToolStripMenuItem itemFolder = new ToolStripMenuItem("&Folder");
            itemNew.MenuItems.Add(itemFolder);

            MainMenu.MenuItems.Add("Save &As");
        }
        
    }
}

正如 Hans 所说,您在 winform 中错过了 MainMenu class 和 MenuStrip class。

如果要使用MenuStrip,可以参考以下代码创建菜单

        MenuStrip MainMenu = new MenuStrip();
        this.MainMenuStrip = MainMenu;
        ToolStripMenuItem itemFile = new ToolStripMenuItem("&File");
        ToolStripMenuItem itemNew = new ToolStripMenuItem("&New");
        MainMenu.Items.Add(itemFile);
        itemFile.DropDownItems.Add(itemNew);
        ToolStripMenuItem itemFolder = new ToolStripMenuItem("&Folder");
        itemNew.DropDownItems.Add(itemFolder);
        ToolStripMenuItem itemSave = new ToolStripMenuItem("Save &As");
        MainMenu.Items.Add(itemSave);
        ToolStripMenuItem itempc = new ToolStripMenuItem("&This PC");
        itemSave.DropDownItems.Add(itempc);
        ToolStripMenuItem itemC = new ToolStripMenuItem("&C Disk");
        ToolStripMenuItem itemD = new ToolStripMenuItem("&D Disk");
        ToolStripMenuItem itemE = new ToolStripMenuItem("&E Disk");
        itempc.DropDownItems.Add(itemC);
        itempc.DropDownItems.Add(itemD);
        itempc.DropDownItems.Add(itemE);

        Controls.Add(MainMenu);

像这样:

如果你想使用MainMenu,这里有一个代码示例你可以参考。

        MainMenu mainMenu = new MainMenu();
        MenuItem File = mainMenu.MenuItems.Add("&File");
        File.MenuItems.Add(new MenuItem("&New"));
        File.MenuItems.Add(new MenuItem("&Open"));
        File.MenuItems.Add(new MenuItem("&Exit"));
        this.Menu = mainMenu;
        MenuItem About = mainMenu.MenuItems.Add("&About");
        About.MenuItems.Add(new MenuItem("&About"));
        this.Menu = mainMenu;
        mainMenu.GetForm().BackColor = Color.White;

结果: