c# 截图有关问题

c# 截图问题
现在picturebox1.image  要从这个里面截取一部分到picturebox2中  截取30*30的
 private void pictureBox1_Click(object sender, EventArgs e)
        {
           
            Px = Cursor.Position.X;
            Py = Cursor.Position.Y;
            int x = Px - 15;
            int y = Py - 15;
            Graphics g = pictureBox2.CreateGraphics();
            g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(x, y,30,30), GraphicsUnit.Pixel);

        }
  这样写为什么不行??
------解决思路----------------------
你获得的坐标是鼠标相对于屏幕的坐标,而不是相对于pictureBox1的坐标,通过下面的函数转换一下,就可以了

                Point p = this.pictureBox1.PointToClient(Control.MousePosition);
                int Px = p.X;
                int Py = p.Y;               
                Graphics g = pictureBox2.CreateGraphics();
                g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(Px, Py, 30, 30), GraphicsUnit.Pixel);