http://dev.csdn.net/develop/article/20/20312.shtm

解决方案 »

  1.   

    测试了一下,可以这样private void notifyIcon1_Click(object sender, System.EventArgs e)
      {
          Point pos1 = new Point(200,300) //200和300是坐标,自己可以改
          this.contextMenu2.Show(this.button1,pos1);
      }
      

  2.   

    加一个ContextMenu1控件,然后设置notifyIcon1的ContextMenu属性为ContextMenu1就行了
      

  3.   

    上面的是右建,左建的还是还使用的wangsaokui(无间道III(终极无间)) 的吧
      

  4.   

    : lhx1977(清水无鱼) ,已经有一个上下文菜单设置了CONTEXTMENU了,我是想用一菜单!
    : wangsaokui(无间道III(终极无间)) 
        Point pos1 = new Point(200,300) //200和300是坐标,自己可以改
          自己没法改它的位置又不是固定的,也就是无法捕捉鼠标的具体位置!!
      

  5.   

    : net_lover(孟子E章) 你这个也没提到左键的处理啊!
      

  6.   

    你其实可以用contextmenu下面用子菜单
    如A
      AA
        AAA
        AAB
      AB
        ABA
        ABB
    B
      BA
      BB
        BBA
        BBB就是将两个contextmenu合并到一个
    为什么一定要用左键呢?不解!
    如果一定要用,就用API捕捉系统右键消息,用左键处理
      

  7.   

    agree  wangsaokui(无间道III(终极无间))
      

  8.   

    Mouse_Down()
    {
    if(e.Button==MouseButton.Left)
    {
    处理
    }
    }
      

  9.   

    测试了一下,差不多可以:
    Point pos = Control.MousePosition;
    this.NotifyMenu.Show(this.button1, pos);
      

  10.   

    哦,忽然想到了,好像还是错了!SORRY啦,再试
      

  11.   

    这回肯定行了,不行找我:
    Control control = new Control(null,Control.MousePosition.X,Control.MousePosition.Y,1,1);
    control.Visible = true;
    control.CreateControl();
    Point pos = new Point(0,0);这里的两个数字要根据你的上下文菜单大小适当地调整
    this.NotifyMenu.Show(control,pos);刚学C#,不知道有否走弯路,还得高手指点!