【问题标题】:Context Menu Item's click not firing上下文菜单项的单击未触发
【发布时间】:2015-09-29 10:57:00
【问题描述】:

我试图在用户单击上下文菜单中的 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 事件永远不会被触发。有没有人知道可能出了什么问题??

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您的MenuItem 有您添加的后代:

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

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

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

    【讨论】:

    • 谢谢...这是正确的。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多