一个应用程序,程序启动后显示在屏幕右下角的启动栏里,不出现任何窗体(任务栏也不显示窗体)。
我希望鼠标左键单击NotifyIcon图标时弹出菜单A(任务栏不显示窗体),鼠标右键单击NotifyIcon图标时弹出菜单B,通过菜单里的选项来打开窗体,操作应用程序。
鼠标左键弹出菜单A的功能如何实现?

解决方案 »

  1.   

    设置它的ContextMenu/ContextMenuStrip属性.
    话说LZ问问题前不先查MSDN的么?
      

  2.   

    private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
    {
        switch (e.Button)
        {
            case MouseButtons.Left:
                notifyIcon1.ContextMenuStrip = contextMenuStrip1;
                break;
            case MouseButtons.Right:
                notifyIcon1.ContextMenuStrip = contextMenuStrip2;
                break;
            default:
                notifyIcon1.ContextMenuStrip = null;
                break;
        }     
    }
      

  3.   

    右键菜单正常设置,没什么好说的,左键菜单不通过contextMenuStrip属性设置,在MouseClick事件里实现private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            contextMenuStrip1.Show(Cursor.Position);
        }
    }
      

  4.   

    汗...
    看成右键了@_@
    右键直接设置ContextMenu/ContextMenuStrip
    至于左键...ContextMenu没办法.
    ContextMenuStrip的话(VS2005之后的ide默认创建的都是这玩意)
    在NotifyIcon的Click事件中执行ContextMenuStrip.Show (Cursor.Position);
    就行了.用不着去处理鼠标按键.
      

  5.   

    在notifyIcon1单击事件中,为左键响应出现菜单即可!
      

  6.   

    ContextMenu cn = new ContextMenu();
    MenuItem a = new MenuItem();
    a.Text = "aaaa";
    a.Click +=new EventHandler(frmclose);//菜单点击的事件
    cn.MenuItems.Add(a);
    this.notifyIcon1.ContextMenu=cn;
    直接在load事件中加就行
      

  7.   

    支持,不过Cursor.Position应该再调调位置,会更像些