1

是否可以在不通过表单添加实例的情况下动态创建 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?另外,子菜单?

谢谢

4

1 回答 1

0

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

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

于 2012-10-20T02:02:17.610 回答