1.如果只是一級菜單就解決的話,使用控件Contextmenustrip,動態添加ToolStripMenuItem就可以了,
自己設置一下name/click/text的屬性就可以了
2.如果是多級菜單呢,需要注意以下問題(代碼部分是手敲的,大小寫有點問題,想用的改一下就可以了)
ToolStripMenuItem強制轉換爲ToolStripDropDownItem類型才能添加子項,其實你自己看看Form1.Designer.cs裏設計器自動生成的代碼就會明白了,方法如下
//一級菜單
List<string> aa=new List{"aa"};;
//二級菜單
List<string> bb=new List{"b1,b2"};
//1.只添加一級菜單
ToolStripMenuItem menu_item=new ToolStripMenuItem();
menu_item.name="aa";
menu_item.text="aa";
menu_item.text="aa";
menu_item.click+=new EventHandler(Click);
contextMenuStrip1.Items.add(menu_item);
//2.添加多級菜單,以兩級菜單爲例
ToolStripMenuItem menu_item=new ToolStripMenuItem();
menu_item.name="aa";
menu_item.text="aa";
menu_item.text="aa";
foreach(var item in bb )
{
ToolStripMenuItem menu_item_temp=new ToolStripMenuItem();
menu_item_temp.name=item;
menu_item_temp.text=item;
menu_item_temp.click+=new EventHandler(Click);
((ToolStripDropDownItem)menu_item).items.add(menu_item_temp)
}
contextMenuStrip1.Items.add(menu_item);