C# C语言中的WinForms菜单项语法#
我正在尝试编写一个基本的Windows窗体。到目前为止,我已经得到了下面的代码。VisualStudio无法识别任何类似这样的行C# C语言中的WinForms菜单项语法#,c#,visual-studio,winforms,menuitem,C#,Visual Studio,Winforms,Menuitem,我正在尝试编写一个基本的Windows窗体。到目前为止,我已经得到了下面的代码。VisualStudio无法识别任何类似这样的行main menu.MenuItems.Add(itemFile)。每当我使用MenuItems时,程序都不理解,并给我一个错误。我检查了很多网站和教程,它们都使用这种语法,所以我觉得我好像在什么地方犯了错误 using System; using System.Collections.Generic; using System.ComponentModel; usin
main menu.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中的main菜单
类和MenuStrip
类
如果要使用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);
像这样:
如果要使用main菜单
,请参考以下代码示例
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;
结果:
该代码致命地混合了传统的.NET 1.0主菜单和.NET 2.0菜单类。使用项目
。并且请考虑使用设计器来实现这一点。它只是避免了更改:<代码> MenuStrip MainMenu =新建MeNeStudio();代码>到此:var main menu=new MenuStrip()代码>。现在,main菜单
被声明为一个局部变量(camelCase),因此很难使用与现有类冲突的名称,这些类的首字母大写(Pascal Case)。这样你就能更好地确定问题所在您可以使用IDE的选项
(文本编辑器->C#->代码样式->命名
)强制这些样式。同时检查常规
部分