上下文菜单项的单击未触发

时间:2015-09-29 10:57:00

标签: c# winforms

当用户点击上下文菜单中的MenuItem时,我正在尝试显示消息框提醒。这是上下文菜单代码:

    public Form1()
    {
        MenuItem mni = new MenuItem();
        mni.Text = "BackLog Task";
        mni.MenuItems.Add("Backlog Task (1)");
        mni.Click += new EventHandler(this.mni_Click);

        contextMenu1.MenuItems.Add(mni);

        notifyIcon1.Visible = true;
        notifyIcon1.Icon = new System.Drawing.Icon
           (System.Environment.GetFolderPath
           (System.Environment.SpecialFolder.Personal)
           + @"\icon.ico");
        notifyIcon1.Text = "Right-click me!";
        notifyIcon1.ContextMenu = contextMenu1;

        InitializeComponent();
    }

这是点击事件处理程序:

    void mni_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Back Log Event Handler");
    }

但是click事件永远不会被触发。有什么想法可能有什么问题吗?

1 个答案:

答案 0 :(得分:3)

您的MenuItem有后代,您添加了:

mni.MenuItems.Add("Backlog Task (1)");

如果你检查the documentation for the Click event它明确说明(粗体是我的):

  

如果MenuItem的MenuItems属性包含任何项目,则不会引发此事件。不会为父菜单项引发此事件。