menuStrip programally添加下拉项目事件处理?

时间:2016-08-04 10:13:06

标签: listview c#-4.0 drop-down-menu event-handling menustrip

menuStrip - >

for(int v = 0; v < vcount; v++) { toolStripMenuItem1.DropDownItems.Add("Volume #" + v); }

现在,有问题将button_Click事件处理程序分配给下拉菜单。

示例:

for(int v = 0; v < vcount; v++) { toolStripMenuItem1.DropDownItems.Add("Volume #" + v.ToString(),v,<eventhandlergoeshere how?>); }

但我该如何使用它? 我的意思是我在DropDownItems.add(,,?)的第3部分键入什么来为多个项目引发一个唯一的事件(假设有3个循环的部分通过)?

1 个答案:

答案 0 :(得分:0)

似乎,我的问题是重复的,因为在这篇文章中找到了2种不同的答案:

Toolstripmenuitem click event

但是,我仍然无法理解如何为点击事件或某种SelectedIndex分配数字如何确定单击哪个Volume#以便列表搜索来处理事件。

示例:

    for (int v = 0; v < vcount; v++)
    {
        string Volumes_Counter = "0" + (v + 1).ToString();
        var prog_Items = toolStripMenuItem1.DropDownItems.Add("Volume #" + Volumes_Counter);
        prog_Items.Click += prog_Items_Click;
    }
    void prog_Items_Click(object sender, EventArgs e)
    {
       search("volume1");
    }

所以,想知道如何将for循环计数器传递给eventhandler。