将Click事件handeler动态添加到每个ToolStripMenuItem [英] Add Click event handeler to each ToolStripMenuItem dynamically
本文介绍了将Click事件handeler动态添加到每个ToolStripMenuItem的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有一个 myToolStripMenuItem
我为它添加了一些子菜单(submenuName动态更改)
There is a myToolStripMenuItem
that i add some submenu to it (submenuName changes dynamically)
ToolStripMenuItem tsmi = new ToolStripMenuItem(submenuName, null, new EventHandler(submenuName_Click));
myToolStripMenuItem.DropDownItems.Add(tsmi);
如何找到用户点击哪个子菜单?
How to find that the user click on which submenu?
推荐答案
检查如何将ToolStripMenuItems添加到动态的MenuStrip或ContextMenu [ ^ ]
当您添加菜单项时,为它们提供唯一的文本,然后您可以轻松识别事件发送方对象单击的菜单项。 />
示例代码:
check How to add ToolStripMenuItems to a MenuStrip or ContextMenu dynamically[^]
When you add menu items give unique text for them, then you can easily identify which menu item clicked by event sender object.
Sample code:
ToolStripMenuItem menu = new ToolStripMenuItem(submenuName);
menu.Click += new EventHandler(menu_Click);
myToolStripMenuItem.DropDown.Items.Add(menu);
// add the event as below
void menu_Click(object sender, EventArgs e)
{
var menuItem = sender as MenuItem;
var menuText = menuItem.Text;
switch(menuText) {
case "MenuItem1":
// menu item1 clicked .. do something
break;
case "MenuItem2":
// menu item2 clicked .. do something
break;
. ...
}
使用Name propeerty而不是Text属性
Use the Name propeerty instead of the Text property
这篇关于将Click事件handeler动态添加到每个ToolStripMenuItem的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文