将Click事件handeler动态添加到每个ToolStripMenuItem [英] Add Click event handeler to each ToolStripMenuItem dynamically

查看:129
本文介绍了将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆