C#动态MenuStrip(无触摸形式)

时间:2012-10-20 01:58:43

标签: c# winforms dynamic menustrip

是否可以动态创建MenuStrip而无需通过表单添加实例?

我做过..

//Create menu
MenuStrip menu = new MenuStrip();
menu.name = "MainMenu";

// Create a Menu Item
ToolStripMenuItem file = new ToolStripMenuItem("File");

//Add item to Menu
menu.Items.Add(file);

//Click event
file.Click += new System.EventHandler(this.FileItemClick);

private void FileItemClick(object sender, EventArgs e)
{
    MessageBox.Show("File clicked");
}

我知道我必须将它添加到表格中,如下所示..

this.MainMenuStrip = menu;
Controls.Add(menu);

但是如果没有将实例拖到表单上,则无法进行上述操作。 有没有办法100%动态创建MenuStrip?还有,SubMenus?

由于

1 个答案:

答案 0 :(得分:0)

是的,有可能。实际上,拖动到表单的所有控件都由设计器生成为代码。要准确查看所需的代码,只需将MenuStrip控件拖到窗体上,然后打开设计器文件(在记事本中)并复制&从那里粘贴代码。如果您的表单被称为Form1.cs,则您的设计器文件为Form1.designer.cs

设计器文件是所有生成的代码,用于创建表单上的所有控件并将其初始化为您在Properties工具窗口中选择的值,当您在视觉上设计表单时。