将Click事件添加到菜单项

And*_*dAL 2 .net c# winforms

我创建了一个在用户右键单击时显示的上下文菜单.我无法弄清楚如何在单击其中一个菜单项时调用表单.看下面的代码.

if (e.Button == MouseButtons.Right)
{
    ContextMenu m = new ContextMenu();
    m.MenuItems.Add(new MenuItem("New"));
    m.MenuItems.Add(new MenuItem("-"));
    m.MenuItems.Add(new MenuItem("Old"));
    m.MenuItems.Add(new MenuItem("Lost"));
    m.MenuItems.Add(new MenuItem("-"));
    m.MenuItems.Add(new MenuItem("Found"));

    switch(m.Name)
    {
        case "New":
            new FrmInfo().ShowDialog();
            break;
    }
Run Code Online (Sandbox Code Playgroud)

And*_*yev 7

您可以使用MenuItem(String,EventHandler)构造函数,它将OnClick事件处理程序作为第二个参数.

所以你的代码看起来像

m.MenuItems.Add(new MenuItem("New", MenuItemNew_Click));

...

private void MenuItemNew_Click(Object sender, System.EventArgs e)
{
    new FrmInfo().ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)