C# 在C中动态地向MenuItem添加事件#
我已经动态创建了菜单。但是我不知道如何处理菜单项的事件。如果有人有解决方案,请告诉我。提前谢谢C# 在C中动态地向MenuItem添加事件#,c#,C#,我已经动态创建了菜单。但是我不知道如何处理菜单项的事件。如果有人有解决方案,请告诉我。提前谢谢 ToolStripMenuItem master,transaction,report,exit; private void Menu1_Load(object sender, EventArgs e) { master = new ToolStripMenuItem("Master"); menuStrip1.Items
ToolStripMenuItem master,transaction,report,exit;
private void Menu1_Load(object sender, EventArgs e)
{
master = new ToolStripMenuItem("Master");
menuStrip1.Items.Add(master);
master.DropDownItems.Add("Party Master");
master.DropDownItems.Add("Item Master");
master.DropDownItems.Add("Tax Master");
master.Click += MenuClicked;
transaction = new ToolStripMenuItem("Transaction");
menuStrip1.Items.Add(transaction);
transaction.DropDownItems.Add("Inward");
transaction.DropDownItems.Add("Inoice");
transaction.DropDownItems.Add("Daily Expense");
report = new ToolStripMenuItem("Report");
menuStrip1.Items.Add(report);
report.DropDownItems.Add("Master Report");
report.DropDownItems.Add("Transaction Report");
report.DropDownItems.Add("Daily Expense Report");
exit = new ToolStripMenuItem("Exit");
menuStrip1.Items.Add(exit);
}
private void MenuClicked(object o,EventArgs e)
{
if ((((ToolStripMenuItem)o).Text) == "Party Master")
{
Master.PartyMaster p = new Master.PartyMaster();
p.Show();
}
}`
尝试以以下方式添加下拉列表项:
ToolStripItem partyMaster = new ToolStripMenuItem() { Text = "Party Master" };
partyMaster.Click += MenuClicked;
ToolStripItem itemMaster = new ToolStripMenuItem() { Text = "Item Master" };
itemMaster.Click += MenuClicked;
ToolStripItem taxMaster = new ToolStripMenuItem() { Text = "Tax Master" };
taxMaster.Click += MenuClicked;
master.DropDownItems.Add(partyMaster);
master.DropDownItems.Add(itemMaster);
master.DropDownItems.Add(taxMaster);
或更动态地使用列表和for循环
List items=newlist()代码>
和循环将更多项目添加到菜单中
ToolStripMenuItem项=新建ToolStripMenuItem()代码>
项目。添加(项目)代码>
item.Click+=neweventhandler(菜单单击);//如果您只想使用一个功能
单击菜单时处理程序是否不会启动?是的。它不起作用您是否有充分的理由动态创建此菜单?为什么不在设计器中创建它并以这种方式连接事件?看起来您没有任何逻辑来更改运行时菜单中的内容……它看起来是静态的。
`// Master
master.DropDownItems.
AddRange(new System.Windows.Forms.ToolStripItem[]
{
partyMaster,
itemMaster,
taxMaster
}
);
master.Name = "Master";
master.Size = new System.Drawing.Size(125, 20);
master.Text = "Master";
master.Click += new System.EventHandler(master_Click);
// Party Master
partyMaster.Name = "PartyMaster";
partyMaster.Size = new System.Drawing.Size(152, 22);
partyMaster.Text = "PartyMaster";
partyMaster.Click += new System.EventHandler(partyMaster_Click);
// Item Master
itemMaster.Name = "ItemMaster";
itemMaster.Size = new System.Drawing.Size(152, 22);
itemMaster.Text = "ItemMaster";
// Tax Master
taxMaster.Name = "TaxMaster";
taxMaster.Size = new System.Drawing.Size(152, 22);
taxMaster.Text = "TaxMaster"; //`