none
如何获取contextMenuStrip控件出现的位置 RRS feed

  • 问题

  • 请问contextMenuStrip控件中有没有记录了它出现的位置的属性?

    例如:

    小弟在方法A中指定了contextMenuStrip出现的位置,在方法B中调用的方法C需contextMenuStrip的位置作为参数传递。请问如何才能解决这个问题?

    例如:

    方法A

    public void A()

    {

    Point p=new Point(100,200)

    contextMenuStrip1.Show(p);

    }

     

    方法B调用了MethodC(int x,int y),而MethodC需要contextMenuStrip中的位置作为参数传递(即上面(100,200))

    public void B()

    {

    int x;

    intY;

    //在不知道contextMenuStrip的位置为(100,200)的情况下,用什么方法或属性把contextMenuStrip的位置传递给变量X,Y?

    MethodC(x,y);

    }

     

    2010年12月23日 5:43

答案

  • Hi  Monkey.D.Bill,

     

    我认为这个属性和控件的位置没有关系。

    你也可以实现一个类专门用来存储信息的,这样你就可以先把值复制到此类中,然后其他控件可以从这里取值。你也可以用配置文件或者普通文件去做这个中间存储池。


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月30日 13:07
    版主

全部回复

  • Hi  Monkey.D.Bill,

    你可以使用实例变量来传递值:

    private Point p = null;
    public void A()
    {
    p=new Point(100,200)
    contextMenuStrip1.Show(p);
    }
    public void B()
    {
    int x = p.X;
    int Y = p.Y;
    MethodC(x,y);
    }
    

    如有什么不清楚处,随时回复。

     


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月28日 5:53
    版主
  • 挥泪感谢你的关注。因为某些原因,小弟不能用全局变量来传值。在帮助文档中,小弟看到contextMenuStrip控件有个Site属性,估计这个属性是跟contextMenuStrip控件出现的位置有关,但它的返回值为Isite,小弟不会用这个接口,请大神给予小弟帮助,举例如何用Site属性获取contextMenuStrip控件出现的位置。万分感谢!

    2010年12月28日 9:14
  • Hi  Monkey.D.Bill,

     

    我认为这个属性和控件的位置没有关系。

    你也可以实现一个类专门用来存储信息的,这样你就可以先把值复制到此类中,然后其他控件可以从这里取值。你也可以用配置文件或者普通文件去做这个中间存储池。


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月30日 13:07
    版主