这个控件可能包含在其他容器控件中,不知道怎么得到它在窗口中的坐标

解决方案 »

  1.   

    Location获取的是相对与父容器的坐标
      

  2.   

    什么ClientPoint试一下。或用递归容器的值计算。
      

  3.   

    获取pictureBox1相对于Form的位置。
    Point pos= this.PointToClient(pictureBox1.PointToScreen(Point.Empty));
    上面的this指pictureBox1所在的Form对象
      

  4.   

    Point point= this.PointToClient(控件名.PointToScreen(Point.Empty));
      

  5.   

    internal static Point GetControlPosition(Control c)
            {
                int x = c.Location.X;
                int y = c.Location.Y;
                while (!(c is Form))
                {
                    if (c.Parent == null)
                        break;
                    x += c.Parent.Location.X;
                    y += c.Parent.Location.Y;
                    c = c.Parent;
                }            return new Point(x, y);
            }返回值就是控件在窗口中的位置